您的位置:首页 > 其它

百度地图根据定位精度设置地图缩放

2015-03-17 16:40 127 查看
最近项目中用到百度地图,需要根据数据标识定位精度的圆圈及缩放地图

主要实现代码如下

//百度地图的地图缩放等级数组

private static final int[] SCALES = {20, 50, 100, 200, 500, 1000, 2000,

5000, 10000, 20000, 25000, 50000, 100000, 200000, 500000, 1000000,

2000000};

//根据百度地图的参数和定位精度计算合适的地图缩放等级

public static float getMapZoom(double accuracy, BaiduMap map) {

float zoomLevel = map.getMaxZoomLevel();

int index = -1;

for (int s : SCALES) {

index++;

if (accuracy < s) {

break;

}

}

if (index != -1) {

if (index > 0) {

zoomLevel = map.getMaxZoomLevel() - index

+ (float) (SCALES[index] - accuracy)

/ (SCALES[index] - SCALES[index - 1]);

if (zoomLevel < map.getMinZoomLevel()) {

zoomLevel = map.getMinZoomLevel();

}

} else

zoomLevel = map.getMaxZoomLevel() - index;

}

return zoomLevel;

}

PS:数组是在网上找的,忘记了出处,不好意思,


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐