最近在用高德地图来写Android App, 其中有一些 方法是不太理解的,这里写一下 对 高德地图 com.amap.api.location.AMapLocationClientOption 中的类 AMapLocationClientOption 中的 setNeedAddress 方法用处。
public AMapLocationClientOption mLocationOption = null;
//设置是否返回地址信息(默认返回地址信息)
mLocationOption.setNeedAddress(false);
lat = amapLocation.getLatitude();
lon = amapLocation.getLongitude();
Log.v("joe", "lat :-- " + lat + " lon :--" + lon);
Log.v("joe", "Country : " + amapLocation.getCountry() + " province : " + amapLocation.getProvince() + " City : " + amapLocation.getCity() + " District : " + amapLocation.getDistrict());
这里只给出了程序的部分代码, 这里只为说明 setNeedAddress 的用法。
调试信息:
可以看到, 地址的具体信息打印不出来, 其实,这就是无法获得地址信息,返回值为空。这里的地址信息为方法,
amapLocation.getCountry()
amapLocation.getProvince()
amapLocation.getCity()
amapLocation.getDistrict()
中所获得的 具体地址信息。
进行如下设置,也就是设置选项,表示可以返回默认的地址信息:
//设置是否返回地址信息(默认返回地址信息) mLocationOption.setNeedAddress(true);
这时候的调试打印信息为如下:
可以看到这时候的 地址打印信息可以有真正的信息,此时返回信息不为空。
以下为个人观点:
在地图应用中如果打开地址信息返回的设置后其实是把定位好的信息,也就是经纬度再进行一次的解析,向服务器发送地址的经纬度信息,然后服务器返回该地方的所属于的 具体地址信息。