在业务中需要对地图进行更详细的展示,但是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
}

这样地图就能实现展示更大的缩放比例了。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐