在业务中需要对地图进行更详细的展示,但是vue-baidu-map组件库最大默认只能缩放到19,使用max-zoom属性也无法在进行详细展示。
下面是我的一些操作:
const maxZoom = 25; // 需要的最大层级
window.BMAP_NORMAL_MAP.m.X3 = window.BMAP_NORMAL_MAP.m.mc = window.BMAP_NORMAL_MAP.m.maxZoom = maxZoom
window.BMAP_PERSPECTIVE_MAP.m.X3 = window.BMAP_PERSPECTIVE_MAP.m.mc = window.BMAP_PERSPECTIVE_MAP.m.maxZoom = maxZoom
window.BMAP_SATELLITE_MAP.m.X3 = window.BMAP_SATELLITE_MAP.m.mc = window.BMAP_SATELLITE_MAP.m.maxZoom = maxZoom
window.BMAP_HYBRID_MAP.m.X3 = window.BMAP_HYBRID_MAP.m.mc = window.BMAP_HYBRID_MAP.m.maxZoom = maxZoom; // 可以根据使用的地图类型进行选择
我使用的是BMAP_HYBRID_MAP类型地图,根据window.BMAP_HYBRID_MAP下的属性值,对原来缩放等级进行修改赋值。
const maxZoom = 25; // 需要的最大层级
window.BMAP_HYBRID_MAP.k.X3 = window.BMAP_HYBRID_MAP.k.Zb = window.BMAP_HYBRID_MAP.k.maxZoom = maxZoom;
只进行上面的赋值还不行,还需要对地图的缩放比例进行一次修改,我是在地图初始化完成后进行操作。
createMap({ map }) {
map.B.Zb = maxZoom
}
在地图初始化完成后,对map对象中还没有修改最大缩放比例的地方进行赋值,代码放到一起:
createMap({ map }) {
const maxZoom = 25; //最大层级
window.BMAP_HYBRID_MAP.k.X3 = window.BMAP_HYBRID_MAP.k.Zb = window.BMAP_HYBRID_MAP.k.maxZoom = maxZoom;
map.B.Zb = maxZoom
}
这样地图就能实现展示更大的缩放比例了。