1.UserLocation能做什么
1.获取用户的位置
2.追踪用户的移动
2.UserLocation的关键API
1.LocationManager:用于管理Android用户定位服务
2.LocationProviders:提供多种定位方式供开发者选择
3.定位方式的分类
1.GPS定位,使用GPS卫星进行定位
<uses-permission android:name="android.permission.ACCESS_FIND_LOCATION" />
2.Network定位,使用信号接收塔和WIFI接入点进行定位,
<uses-permission android:name="android.permission.ACCESS_FIND_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
4.获取用户的当前位置
1.在AndroidManifest.xml当中声明相应的权限
2.获取LocationManager对象
3.选择LocationProvider
4.绑定LocationListener对象
- LocationManagerlocationManager=(LocationManager)MainActivity.this.getSystemService(Context.LOCATION_SERVICE);
- locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,newTestLocationListener());
- privateclassTestLocationListenerextendLocationListener{
- @Override
- publicvoidonLocationChanged(Locationlocation){
- System.out.println(location.getLongitude()+"|"+location.getLititude());
- }
- @Override
- publicvoidonProviderDisabled(Stringprovider){
- }
- @Override
- publicvoidonProviderEnabled(Stringprovider){
- }
- @Override
- publicvoidonStatusChanged(Stringprovider){
- }
- }
5.获取最佳的Location Provider
1.获取当前设备所有的适配器
- LocationManagerlocationManager=(LocationManager)MainActivity.this.getSystemService(Context.LOCATION_SERVICE);
- List<Stringproviders=locationManager.getAllProviders();
- for(Iteratoriterator=providers.iterator();iterator.hasNext()){
- System.out.println(iterator.next());
- }
2.寻找最佳的适配器
Criteria可以设置一系列的查询条件,用于查找当前设备当中符合条件的LocationProvider
详细看ADK中的说明文档 Criteria
- Criteriac=newcriteria();
- c.setAccuracy(Criteria.Accuracy_FINE);
- c.setPowerRequirement(Criteria.POWER_LOW);
- c.setAltitudeRequired(false);
- c.setSpeedReuquired(false);
- c.setCostAllowed(false);
- Stringprovider=locationManager.getBestProvider(criteria,false);
- System.out.println(provider);
6.追踪用户的位置
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 1000, new TestLocationListener());
第二个参数minTime: 两次定位用户位置的最小间隔时间(毫秒)
第三个参数minDistance: 两次定位用户位置的最小距离(米)
7.Geocoding介绍
GeoCoding是Google所提供的一项服务,主要有以下两个方面的功能
1.查询某地址的经纬度
2.查询某经纬度的具体地址
8.Android当中的Geocoder
1.创建一个GeoCoder对象
2.调用该对象的getFromLocation()或getFromLocationName()方法
- Geocodergc=newGeocoder(MainActivity.this);
- List<Address>address=geocoder.getFromLocationName("SFO",1);
- System.out.println(addrss.size());
- List<Address>address=geocoder.getFromLocationName(12.34,56.78,1);
- System.out.println(address.size());
9.Geocoder的替代方法
地址:http://code.google.com/intl/zh-CN/apis/maps/documentation/geocoding/
根据地址获取经纬度(sensor:是否来自设备传感器)
http://maps.googleapis.com/maps/api/geocode/json?address=SFO&sensor=false
http://maps.googleapis.com/maps/api/geocode/xml?address=SFO&sensor=false
根据经纬度获取地址
http://maps.googleapis.com/maps/api/geocode/json?latlng=12.34,56.78&sensor=false
根据地址和区域范围的经纬度
http://maps.googleapis.com/maps/api/geocode/json?address=SFO&sensor=false&bounds=12.34,56.78|87.65,43.21
根据国家代码
http://maps.googleapis.com/maps/api/geocode/json?address=SFO&sensor=false®ion=es
分享到:
相关推荐
Android学习笔记-Activity篇 Contents Android学习笔记-Activity篇 1 一、activity创建: 1 二、在manifest.xml中声明activity: 1 三、启动activity 1 3.1 启动不带返回结果的Activity 1 3.2 启动带有返回结果的...
android学习笔记-clip.pdf
android学习笔记--clip.pdf
android学习笔记--clip参照.pdf
http://blog.csdn.net/loveqRc/article/details/54169666 Android学习笔记--Gson笔记
Android学习笔记--通过wifi向服务器端发送数据
Android学习笔记-SQLite介绍-以及使用Sqlite-进行数据库的创建-完成数据.pdf
Python学习笔记--皮大庆,非常适合零基础入门。对应英文版本《How to think like a computer scientist》
黑马程序员之android学习笔记--用户界面 View(一).docx
Android学习笔记-采用ListView实现数据列表显示-以及各种适配器使用-和如何写.pdf
Apollo学习笔记-定位简介
Android学习笔记-service[参考].pdf
android 的学习笔记 菜单时android的重要用户接口之一
python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python ...
JDBC学习笔记--JDBC学习笔记JDBC学习笔记--JDBC学习笔记JDBC学习笔记--JDBC学习笔记JDBC学习笔记--JDBC学习笔记
android的binder机制提供一种进程间通信的方法,使不同一个进程可以以类似远程过程调用的形式调用另一个进程所提供的功能。binder机制在Java环境和C/C++环境都有提供。
Android开发笔记---ListView
LaTex教程--latex排版学习笔记---入门提高.pdf
zookeeper云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-...