1.有时候失效了,是因为没有执行自我定位. 在执行wx.getLocation()完后再设置points数组就可.
2.有时候也许是小程序太烂,跟你无关.可以不用wx.getLocation();
3.有时候发现确实是小程序太烂了,不能直接用属性include-points='{{points}}',可以用MapContext.includePoints()
1.
observers: {
gpsX: function (gpsX) {
// console.log(gpsX)
this.getLocation(()=>{
this.dealPolygon()
this.dealMarkers()
})
}
},
methods: {
// 设置标记点start
//获取当前位置坐标
getLocation(callback) {
let self = this;
wx.getLocation({
type: 'wgs84', // 默认为 wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标
success: function (res) {
callback && callback()
},
fail: function (err) {
console.log(err)
}
})
},
}
3.
setIncludePoints() {
let self = this;
let MapContext = wx.createMapContext('map', this);
let points=this.data.points;
MapContext.includePoints({
points:points,
padding:[100,100,100,100], //被你发现了,可以设置上右下左的间距(px).不其实只能用第一个值100.
success: function (e) {
console.log(e)
}
})
},
//padding参数什么时候用到? 譬如地图块'无数据显示'时,由此作出缩放效果
--by Affandi ⊙▽⊙
网友评论