项目需求百度定位的半径为500米,但是加载下来后的定位半径为100米(默认大小)。
查询了好久资料才发现,原来这个所谓的半径圈表示百度地图的半径误差值大小。
在百度地图的API中,BDLocationListener,定位的返回监听事件中设置即可。
locData.direction = location.getDerect();为原来demo的参数,获取默认误差大小。
public class MyLocationListenner implements BDLocationListener {
@Override
public void onReceiveLocation(final BDLocation location) {
if (location == null)
return;
locData.latitude = location.getLatitude();
locData.longitude = location.getLongitude();
locData.direction = 2.0f;
//locData.accuracy = location.getRadius();//获取默认误差半径
locData.accuracy = 500;//自定义误差半径
locData.direction = location.getDerect();
myLocationOverlay.setData(locData);
mMapView.refresh();
public void onReceivePoi(BDLocation poiLocation) {
if (poiLocation == null) {
return;
}
}
}
本文探讨了在使用百度地图API时遇到的定位半径误差问题,并提供了通过设置BDLocationListener来调整定位半径误差的解决方案。具体包括在接收位置事件时自定义误差半径的方法。

6万+

被折叠的 条评论
为什么被折叠?



