缩放视野展示所有经纬度后获取当前地图的缩放级别有错误
- 预期表现
初始设置地图的默认缩放级别,scale="{{scale}}",scale:13
点击一个POI类型,在地图上显示先关的经纬度坐标点,然后调用MapContext.includePoints(Object object)聚合所有坐标点在地图视野范围内
在MapContext.includePoints(Object object)调用成功后回调MapContext.getScale(Object object),获取聚合后的地图缩放级别
虽然坐标点聚合完成后地图缩放级别产生明显变化,但是MapContext.getScale(Object object)返回的缩放级别仍旧是初始值
所以导致在点击地图上加号和减号的时候,地图缩放未能显示预期效果
- 提供一个最简复现 Demo
<map id='map' scale="{{scale}}" show-location bindmarkertap="bindmarkertap" markers="{{markers}}" bindcontroltap="bindcontroltap" longitude="{{longitude}}" latitude="{{latitude}}"><cover-view bindtap='bindcontroltap' class='map-pos-box'><cover-image src='../../images/map-pos.png' mode="widthFix" class="map-pos"></cover-image></cover-view><cover-view class='scalePuls' bindtap='scalePuls'>+</cover-view><cover-view class='scaleMinus' bindtap='scaleMinus'>-</cover-view></map> |
Page({ data: { scale: 13 },....}) |
//初始化地图控件this.mapCtx = wx.createMapContext('map');//聚合坐标点this.mapCtx.includePoints({ padding: [35, 35, 35, 35], points: markers, complete: function () { //获取聚合坐标点之后获取地图缩放级别 that.mapCtx.getScale({ success: function (res) { //返回仍旧是初始化的scale:13 console.log(res.scale) that.setData({ scale: res.scale }) } }) }}) |
