android用户定位

手机定位的主要方式有:1. GPS模块   2.基站定位   3.Wifi定位

各种定位的特点:

一、GPS  

        GPS方式准确度是最高的,但是它的缺点也非常明显:1,比较耗电;2,绝大部分用户默认 不开启GPS模块;3,从GPS模块启动到获取第一次定位数据,可能需要比较长的时间;4,室内几乎无法使用。这其中,缺点2,3都是比较致命的。需要指 出的是,GPS走的是卫星通信的通道,在没有网络连接的情况下也能用。用百度地图的话有时需要连接网络,是因为获取到GPS定位后,需要在地图上显示出来,而如果手机地图上没有当前位置的缓存的话,就需要联网刷新。

二、基站定位

        大致思路就是采集到手机上的基站ID号(cellid)和其它的一些信息(MNC,MCC,LAC等等),然后通过网络访问一些定位服务,获取并返回对应的经纬度座标。基站定位的精确度不如GPS,但好处是能够在室内用,只要网络通畅就行。

三、Wifi定位

        Wifi定位。和基站定位类似,这种方式是通过获取当前所用的wifi的一些信息,然后访问网络上的定位服务以获得经纬度座标。因为它和基站定位其实都需要使用网络,所以在Android也统称为Network方式。     

       最后需要解释一点的是AGPS方式。很多人将它和基站定位混为一谈,但其实AGPS的本质仍然是GPS,只是它会使用基站信息对获取GPS进行辅助,然后还能对获取到的GPS结果进行修正,所以AGPS要比传统的GPS更快,准确度略高。


UserLocation的关键API:

   1.  LocationManager:用于管理Android的用户定位服务。Android用户定位服务所有功能都是由 LocationManager提供的。要想实现用户定位服务,就必须先获取 LocationManager对象。

   2. LocationProvider .提供了三种定位方式:

           1.GPS卫星定位. 2.  Network方式 (即基站定位和Wifi定位

            都需要声明权限:Android.permission.ACCESS_FIND_LOCATION


获取用户当前位置:

    1.在AndroidManifest文件中声明权限

    2获取LocationManager对象

    3.选择LocationProvider;就两种

    4.绑定LocationListener对象。就是当用户的手机的位置改变时,就会触发这个函数,就可以得到用户的位置了。



       

 

      



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章