- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android定位系统概要1
Android定位系统
定位方式
1.GPS
精度高,耗电大,室外使用,搜星长。
2.WIFI
手机定位软件通过侦测WiFi的ID(路由器地址),然后在其WiFi位置数据库和地图数据的配合下完成定位。
3.基站
基于蜂窝通信技术,现在公安采取定位方式是基站定位,因为基站定位还是比较准确方便。
4.AGPS
使用基站信息对获取GPS进行辅助。辅助GPS定位实际就是基站定位 + 远端星历数据 + GPRS传输 + 集成GPS定位。
GPS简介
GPS是英文Global Positioning System(全球定位系统)的简称。GPS起始于1958年美国军方的一个项目,1964年投入使用。到1994年,耗资300亿美元,全球覆盖率高达98%的24颗GPS卫星星座己布设完成。其中21颗为可用于导航的卫星,3颗为活动的备用卫星。可向全球用户提供连续、实时、高精度的三维位置,三维速度和时间信息。可息。
GPS定位组成
GPS定位技术是利用高空中的GPS卫星,向地面发射L波段的载频无线电测距信号,由地面上用户接收机实时地连续接收,并计算出接收机天线所在的位置。因此,GPS定位系统是由以下三个部分组成:
(1)GPS卫星星座(空间部分)
(2)地面监控系统(地面控制部分)
(3)GPS信号接收机(用户设备部分)。
GPS定位原理
d1
d2
d3
P1
P2
P3
空间距离交会法定位
提供给app的API
名称
说明
GpsStatus.Listener
用于接受 GPS 状态改变时的通知。
GpsStatus.NmeaListener
用于接受 Nmea(为海用电子设备制定的格式)信息。
LocationListener
用于接受位置信息改变时的通知。
Address
用于描述地址信息。
Criteria
用于选择 LocationProvider。
Geocoder
用于处理地理位置的编码。
GpsSatellite
用于描述 GPS 卫星的状态。
GpsStatus
用于描述 GPS 设备的状态。
Location
用于描述地理位置信息,包括经度,纬度,海拔,方向等信息。
LocationManager
用于获取和调用定位服务。
LocationProvider
描述 Location Provider 的超类,Location Provider 是真正用来获取位置信息的组件。Location Provider 的实现主要可以分为两类:一种依赖于 GPS 设备,另一种依赖网络状态。
定位服务提供给应用层的 API 位于 android.location 包中,
它包含的主要类和接口如下
应用示例
@Override
protected void onCreate(Bundle savedInstanceState) {
...
locationManager = (LocationManager)getSystemService(LOCATION_SERVICE);
}
@Override
protected void onResume() {
super.onResume();
String currentProvider = LocationManager.NETWORK_PROVIDER;
Location lastKnownLocation = locationManager.getLastKnownLocation(currentProvider);
locationManager.requestLocationUpdates(currentProvider, 0, 0, locationListener);
}
@Override
protected void onPause() {
super.onPause();
locationManager.removeUpdates(locationListener);
}
应用示例
protected final LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
Log.d(TAG, Location changed to: + getLocationInfo(location));
}
public void onProviderDisabled(String provider) {
Log.
文档评论(0)