原因uniapp map绑定的缩放等级,在鼠标或手指缩放后并没有更新值, 如果遇到需要修改缩放等级的情况会因为设置的值没改变导致地图没有更新
<map class="my_map" id="myMap" :scale="mapScale"></map>
......
data() {
return {
mapScale: 16,
}
}
解决办法在需要设置前调取地图查询缩放等级方法,重新设置更新缩放等级后再设置需要的缩放等级就可以缩放了
// 一开始创建的地图对象
onReady() {
this.mapCtx = uni.createMapContext("myMap")
},
//设置地图缩放等级
setScale(level){
this.mapCtx.getScale({
success: res=>{
console.log("缩放",res)
this.mapScale = res.scale;
this.$nextTick(()=>{
this.mapScale = level
})
}
})
},