您的位置:首页 > 移动开发 > Android开发

作百度地图定位时,location.getAddrStr()获取到的值一直为空的问题

2015-11-22 20:07 531 查看
在做百度地图定位时,在MyLocationListener接口的回调方法中,具体如下:
public class MyLocationListener implements BDLocationListener {
@Override
public void onReceiveLocation(BDLocation location) {
if (location!=null&flag) {
flag=false;
currentLag = location.getLatitude();//经度
currentLng = location.getLongitude();//维度
currentAddr = location.getAddrStr();//位置
Toast.makeText(MainActivity.this, "当前位置"+currentAddr, Toast.LENGTH_SHORT).show();

// 构造定位数据
MyLocationData locData = new MyLocationData.Builder()
.accuracy(location.getRadius())
// 此处设置开发者获取到的方向信息,顺时针0-360
.direction(0).latitude(location.getLatitude())
.longitude(location.getLongitude()).build();
// 设置定位数据
mBaiduMap.setMyLocationData(locData);
MyLocationConfiguration config = new MyLocationConfiguration(MyLocationConfiguration.LocationMode.FOLLOWING,true, null);
mBaiduMap.setMyLocationConfigeration(config);
/*当不需要定位图层时关闭定位图层
mBaiduMap.setMyLocationEnabled(false);*/
//            设置到当前位置
mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newLatLngZoom(new LatLng(location.getLatitude(),location.getLongitude()),16));//设置缩放级别
}
}
}
在以上代码中,location.getAddrStr()获取到的地理位置一直为空,之所以出现这样的问题,是在配置定位SDK参数配置时少些了一句:
option.setIsNeedAddress(true);//可选,设置是否需要地址信息,默认不需要
把以上这句加上就可以了!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息