示例:
GeocodeSearch geocodeSearch = new GeocodeSearch(this);
//逆地理编码查询条件:逆地理编码查询的地理坐标点、查询范围、坐标类型。
LatLonPoint latLonPoint = new LatLonPoint(36.489411, 103.61449);
// AMAP 输入参数坐标为高德类型。查找范围500m
RegeocodeQuery query = new RegeocodeQuery(latLonPoint, 1000f, GeocodeSearch.AMAP);
Log.e("TAG", "onCreate:1 ");
geocodeSearch.getFromLocationAsyn(query);
geocodeSearch.setOnGeocodeSearchListener(new GeocodeSearch.OnGeocodeSearchListener() {
@Override
public void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i) {
RegeocodeAddress regeocodeAddress = regeocodeResult.getRegeocodeAddress();
String adCode = regeocodeAddress.getAdCode();
String cityCode = regeocodeAddress.getCityCode();
//Log.e("TAG", "onRegeocodeSearched: "+formatAddress.substring(9)+adCode+cityCode);
}
@Override
public void onGeocodeSearched(GeocodeResult geocodeResult, int i) {
}
});
其中持续逆地理编码异步查询,容易发生此刻回调的结果是几分钟前查询的地址的结果。
暂记一个用标志位判断解决。