GPS获取Location 获取所在地点的经纬度
利用手机获取所在地点的经纬度:
Location 在Android 开发中还是经常用到的,比如 通过经纬度获取天气,根据Location 获取所在地区详细Address (比如Google Map 开发).等。而在Android 中通过LocationManager 来获取Location .通常获取Location 有GPS 获取,WIFI 获取. 如下介绍GPS获取Location:
第一步:
创建一个Android 工程命名为GPS
第二步:
在MainActivity中利用LocationManager获取经纬度:
import java.util.List;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
public class MainActivity extends Activity {
private LocationManager manager;
private SharedPreferences sp;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
manager = (LocationManager) getSystemService(LOCATION_SERVICE);//获取手机位置信息
List<String> providers = manager.getAllProviders();
// for (String provider : providers) {
// System.out.println(provider);
// }
//获取的条件
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);//获取精准位置
criteria.setCostAllowed(true);//允许产生开销
criteria.setPowerRequirement(Criteria.POWER_HIGH);//消耗大的话,获取的频率高
criteria.setSpeedRequired(true);//手机位置移动
criteria.setAltitudeRequired(true);//海拔
//获取最佳provider: 手机或者模拟器上均为gps
String bestProvider = manager.getBestProvider(criteria, true);//使用GPS卫星
System.out.println("最好的位置提供者是"+bestProvider);
sp = getSharedPreferences("config",MODE_PRIVATE);
//parameter: 1. provider 2. 每隔多少时间获取一次 3.每隔多少米 4.监听器触发回调函数
manager.requestLocationUpdates(bestProvider,60000,100, new MyLocationListener());
}
private class MyLocationListener implements LocationListener{
/**
* 手机位置发生变动
*/
public void onLocationChanged(Location location) {
location.getAccuracy();//精确度
String latitude = location.getLatitude()+"";//经度
String longitude = location.getLongitude()+"";//纬度
//将获取到的经纬度信息存入SharedPreferences
Editor editor = sp.edit();
editor.putString("lastloaction", latitude + "-" + longitude);
editor.commit();
}
/**
* 当某个位置提供者的状态发生改变时
*/
public void onStatusChanged(String provider, int status, Bundle extras) {
}
/**
* 某个设备打开时
*/
public void onProviderEnabled(String provider) {
}
/**
* 某个设备关闭时
*/
public void onProviderDisabled(String provider) {
}
}
}
第三步:
在AndroidManifest.xml中进行如下配置(加入Location相关权限):
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cn.itcast.gps"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".DemoActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
第四步:
部署应用程序,可在代码中加入Log.i() ,在LogCat中观察打印信息
或者直接导出 data/data/<packagename>/share_pre/config.xml 文件直接观察
可以将经纬度自行在网站上进行查询
注意:
android2.3 有bug,定位后没有提示
2.3模拟器不支持手动发送模拟的经纬度
可采用2.2的模拟器
GPS获取Location 获取所在地点的经纬度的更多相关文章
- 使用LocationManager来获取移动设备所在的地理位置信息
在Android应用程序中,可以使用LocationManager来获取移动设备所在的地理位置信息.看如下实例:新建android应用程序TestLocation. 1.activity_main.x ...
- Android初级教程获取手机位置信息GPS与动态获取最佳方式
简单介绍一下gps定位的操作. 主要是靠locationmanger这个api完成的一些操作:通过获取这个实例,然后调用它的requestLocationUpdates方法进行注册.传入的参数分别有以 ...
- php获取ip地址所在的地理位置的实现
1,通过腾讯或者新浪提供的接口来获取(新浪和腾讯类似) <?php function getIPLocation($queryIP){ $url = 'http://ip.qq ...
- 2.4 使用ARDUINO控制MC20进行GPS数据的获取和解析
需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...
- openresty开发系列40--nginx+lua实现获取客户端ip所在的国家信息
openresty开发系列40--nginx+lua实现获取客户端ip所在的国家信息 为了实现业务系统针对不同地区IP访问,展示包含不同地区信息的业务交互界面.很多情况下系统需要根据用户访问的IP信息 ...
- asp.net Core 获取应用程序所在目录的2种方式
//获取应用程序所在目录的2种方式(绝对,不受工作目录影响,建议采用此方法获取路径).如:d:\Users\xk\Desktop\WebApplication1\WebApplication1\bin ...
- js 获取当前焦点所在的元素、给元素和input控件添加键盘监听事件、添加页面级的键盘监听事件
页面级的键盘监听事件 document.onkeydown = function (event) { var e = event || window.event || arguments.callee ...
- 使用curl获取Location:重定向后url
在php获取http头部信息上,php有个自带的函数get_headers(),我以前也是用这个的,听说效率在win上不咋地,再加上最近研究百度url无果,写了cURL获取重定向url的php代码来折 ...
- Delphi XE的firemonkey获取当前文件所在路径的方法
Delphi XE的firemonkey获取当前文件所在路径的方法 在之前,我们知道有三种方法: ExtractFilePath(ParamStr(0)) ExtractFilePath(Applic ...
随机推荐
- html --- javascript --- div --- 拖拽方块
当鼠标拖拽的很快时,光标会走出方块,所以把事件注册在了方块的父节点上, 如有疑问请参照:http://blog.csdn.net/a9529lty/article/details/2708171 使用 ...
- 关于python中字典的一些总结
1. 获取字典中的值,但是无异常 当在字典中取值的时候,可以使用如下两种方式: >>> d = {'name':'kel'} >>> d {'name': 'kel ...
- 标准IO
标准IO由ISO C 标准的IO库,它处理了很多底层细节,比如合适的缓冲大小等等,因此更易于使用,但是也引入了一些其他问题. 流向 标准IO使用FILE对象关联流,流可以是面向宽字节的也可以是面向单字 ...
- 网易实习笔试真题C/C++
刚做的时候根本就没有想到解题思路,刚好看到了别人的思路,自己写了一下.里面对unordered_map及vector二维数组的建立很灵活,另外区别了一下map,unordered_map,hash_m ...
- Camel In Action 阅读笔记 第一部分概述 + 第一章概述 认识Camel
第一部分: 最开始的一小步 Apache Camel 是一个开源集成框架,其目的是让系统集成变得更加简便,在本书的第一章中,我们会为您介绍它并向您展示它是如何在大型企业应用中做好集成工作.您也会了解到 ...
- java webservice的多种实现方法汇总
一.基于EJB容器管理webservice : 1.首先建立一个Web services EndPoint: package cn.test.service.impl; import java ...
- java多线程之synchronized(线程同步)
一.线程同步,主要应用synchronized关键字: public class TraditionalThreadSynchorinzed { public static void main(Str ...
- Strider 持续集成(gitlab)
Strider安装后运行: Mac: strider Ubuntu: bin/strider 本地运行时浏览器访问: http://127.0.0.1:3000 其他服务器:服务器地址 + 端口号(3 ...
- dom select选单
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- Spark的任务处理流程
持续推送....