Android高德地图定位成功不显示城市信息等解决方案

问题复现:

Android使用高德地图定位,定位成功回调,有经纬度坐标信息,但是地址城市等信息为空,会出现在部分机型或者虚拟定位中

下面是问题复现截图

这个是正常的获取定位截图


这个是不正常获取定位截图


问题原因:

暂时不明,使用的是2.X版本


解决问题:

既然不正确的定位信息里其他信息没有,但是有坐标点关键信息是可以进行反编码获取地址的

所以通过这个思路在高德API里找到反编码方法就OK了,废话不多说,直接上根据经纬度坐标点获取地址的代码

GeocodeSearch geocoderSearch =new GeocodeSearch(MyApplication.getInstance());

geocoderSearch.setOnGeocodeSearchListener(new GeocodeSearch.OnGeocodeSearchListener() {

@Override

    public void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i) {

if(TextUtils.isEmpty(PreferencesUtils.getString(MyApplication.getInstance(),Constant.CITY))){

            String c = regeocodeResult.getRegeocodeAddress().getCity();

            String a = regeocodeResult.getRegeocodeAddress().getFormatAddress();

            //这里你可以点出很多信息,根据情况自己去获取

        }

}

@Override

    public void onGeocodeSearched(GeocodeResult geocodeResult, int i) {

}

});

// 第一个参数表示一个Latlng,第二参数表示范围多少米,第三个参数表示是火系坐标系还是GPS原生坐标系

    LatLonPoint point =new LatLonPoint(location.getLatitude(),location.getLongitude());

    RegeocodeQuery query =new RegeocodeQuery(point, 200,GeocodeSearch.AMAP);

    geocoderSearch.getFromLocationAsyn(query);

OK,问题到此结束,各位码农编码快乐*^_^*

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容