通过经纬度获取中心点,以及绑定的缩放级别

本文介绍了一种根据经纬度计算地图中心点及适宜缩放级别的方法。通过计算最大和最小经纬度之间的差异,确定地图显示的最佳缩放级别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


//根据经纬度的距离获取地图的缩放级
function getRoom(diff){
var room = new Array(0, 1, 2, 3, 4, 5, 6,7,8, 9, 10, 11, 12, 13, 14);
var diffArr = new Array(360,180,90,45,22,11,5,2.5,1.25,0.6,0.3,0.15,0.07,0.03,0);
for(var i = 0; i < diffArr.length; i ++){
if((diff - diffArr[i]) >= 0){
return room[i];
}
}
return 14;
}


function getCenterPoint(maxJ,minJ,maxW,minW){//通过经纬度获取中心位置和缩放级别
if(maxJ==minJ&&maxW==minW)return [maxJ,maxW,0];
var diff = maxJ - minJ;
if(diff < (maxW - minW))diff = maxW - minW;
diff = parseInt(10000 * diff)/10000;
var centerJ = minJ*1000000+1000000*(maxJ - minJ)/2;
var centerW = minW*1000000+1000000*(maxW - minW)/2;
var zoom = getRoom(diff);
return [centerJ/1000000,centerW/1000000,zoom];
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值