Google 地理信息反解析

     Android 为地址反解析提供了标准的api 方案,但该方案并不是android sdk的一部分。手机用户要想
正常使用该功能,手机上必须安装 google map。但国内没有厂家默认内置google map, 手机用户也不可能
自动安装。反解析的方案国内应该可以通过baidu地图api接口,国外的话,还是的通过google.

主要研究下国外地理信息反解方式

1.获取经纬度provider 方式
 gps 方式: LocationManager.GPS_PROVIDER
 net 方式: LocationManager.GPS_NET

2种方式优缺点如下:
GPS_PROVIDER 通过卫星与手机定位经纬度,最小精度可以达到10m左右,但能耗比较大,在手机上不利于
长期开启。

GPS_NET 该经纬度误差较大,基本在1公里内(2g,3g),如果使用wi-fi误差会远远超过1公里。原因是该方式获取
的并不是手机本身的地理位置经纬度,而是服务站,或者isp提供商的经纬度信息。如果你用wi-fi方式,并使用国外
代理服务器上网,这个偏差可能跨越半个地球。

2.  google 反解的标准方式
 引用包名: android.location.Geocoder; 
 因不是标准api组成,需要通过Geocoder.isPresent先判别能不能使用,然后执行反解析,代码如下:
private  void    getAddressFromLocation( double  latitude,  double  longitude) {
            try
           {
                if  (!Geocoder.isPresent())
               {   //api level 9
                    return  ;
               }
              
              Utils. printLog( "GeophyInfoTracker" ,  "getAddressFromLocation" );
              
               Geocoder geocoder =  new  Geocoder( s_CurUIContext  ,Locale. ENGLISH );
               List<Address> addresses = geocoder.getFromLocation(latitude, longitude, 1);
                if  (addresses !=  null  && addresses.size() > 0) {
                   Address address = addresses.get(0);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值