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,问题到此结束,各位码农编码快乐*^_^*

你可能感兴趣的:(Android高德地图定位成功不显示城市信息等解决方案)