问题:从定位回调中获取BDLocation .getAdCide()值为null。
public class MyLocationListener extends BDAbstractLocationListener {
@Override
public void onReceiveLocation(BDLocation location) {
String adCode = location.getAdCode();//"440307" 龙港区代码
DataManagerCenter.getInstance().setLatitude(location.getLatitude());
DataManagerCenter.getInstance().setLongitude(location.getLongitude());
}
}
解决方法:设置 option.setIsNeedAddress(true);
LocationClientOption option = new LocationClientOption();
// 可选,设置定位模式,默认高精度 LocationMode.Hight_Accuracy:高精度;
option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);
option.setOpenGps(true); // 允许开启gps定位
option.setEnableSimulateGps(false);
option.setCoorType("bd09ll");
option.setIsNeedAddress(true);
/// 设置是否进行单次定位,单次定位时调用start之后会默认返回一次定位结果
option.setOnceLocation(true);
mLocationClient.setLocOption(option);
mLocationClient.start();