使用uniapp开发微信小程序,地图组件,对scale属性进行了绑定。但只要对地图进行了拖动或者缩放后就无法使用该绑定属性控制了。
代码如下:
<map v-if="mapIsShow" ref="myMap" id="myMap" :show-location="true" :scale="mapScale" @markertap="onMarkerTap" :markers="marker"
:latitude="latitude" :longitude="longitude" :style="{width: '100%', height: windowHeight}">
return {
windowHeight: '1000rpx',
latitude: '22.25591',
longitude: '110.98626',
marker: [],
mapScale: 14,
conditionsNum: 0,
mapIsShow: true,
constructList: [],
accidentList: [],
eventList: [],
// 0是显示定位附近,1是显示全省
sizeType: 0
}
3***@qq.com (作者)
scale绑定了“mapScale”,初始化14。我设计了一个按钮给mapScale赋值7,一开始是有效果的,但只要手指拖动、缩放了地图后,这个绑定效果就没了
2021-01-06 14:00
7***@qq.com
回复 3***@qq.com: 因为你赋值后,它就变成7了,7就是被定死了
2021-01-06 14:05
7***@qq.com
回复 3***@qq.com: 加一个这个事件@tap,然后在这个事件里面写判断if(mapScale == 7){this. mapScale = 6.9}else{this. mapScale = 7}这样应该就是可以了。这是最简单的方法,其他办法我也不知道了。。。。。。。
2021-01-06 14:11
3***@qq.com (作者)
回复 7***@qq.com: 可以了,谢谢!
2021-01-06 16:17
1***@qq.com
回复 7***@qq.com: @tap 给map组件加?
2021-06-09 15:50
1***@qq.com
回复 3***@qq.com: @tap 加哪了 大兄弟
2021-06-09 15:51
3***@qq.com (作者)
回复 1***@qq.com: 你首先给mapScale赋值10,当你用手指缩放之后,地图的scale变了,但mapScale还是10,这个时候你mapScale= 10 是没有反应的,你可以mapScale = 6.99,这样就可以变化了
2021-07-01 14:21