前言
勤快的人来写博客啦~
这片主要记录封装的用于根据路线的长短来控制地图的缩放~
实现效果
具体方法
// 根据距离设置地图缩放级别 zoom是传过来的距离(m为单位)
// 返回的num是地图缩放的距离
// ps:姐这里是腾讯地图,你们可以根据自己的情况设置数值 这里仅提供一种思路~
var num = 12
function setMapZoomFunc(zoom) {
zoom = Number(zoom)
if (0 < zoom && zoom <= 25) {
num = 18
return num;
} else if (25 < zoom && zoom <= 50) {
num = 17
return num;
} else if (50 < zoom && zoom <= 100) {
num = 16
return num;
} else if (100 < zoom && zoom <= 200) {
num = 15
return num;
} else if (200 < zoom && zoom <= 500) {
num = 14
return num;
} else if (500 < zoom && zoom <= 1000) {
num = 13
return num;
} else if (1000 < zoom && zoom <= 2000) {
num = 12
return num;
} else if (2000 < zoom && zoom <= 5000) {
num = 11
return num;
} else if (5000 < zoom && zoom <= 10000) {
num = 10
return num;
} else if (10000 < zoom && zoom <= 20000) {
num = 9
return num;
} else if (20000 < zoom && zoom <= 30000) {
num = 8
return num;
} else if (30000 < zoom && zoom <= 50000) {
num = 7
return num;
} else if (50000 < zoom && zoom <= 100000) {
num = 6
return num;
} else if (100000 < zoom && zoom <= 200000) {
num = 5
return num;
}
}
module.exports = {
setMapZoomFunc: setMapZoomFunc
}
然后我们去页面引用这个工具类
import mapUtility from '@/utility/mapUtility.js'```
// scale是控制地图的参数,这里大家可以看看官方文档,我就不多bb了
// data.result.routes[0].distance这个呢是我返回的距离长短
this.scale=mapUtility.setMapZoomFunc(data.result.routes[0].distance)
这样就万事大吉了,每次调用也贼方便,直接mapUtility.setMapZoomFunc()就o了