latitude="latitude" scale="10" :markers="markers" @markertap="markertap" show-scale :circles="circles"
@regionchange="regionchangetab">
</map>
JS部分
circles: [{ //在地图上显示圆,这个数据是我默认写死的一个可以展示出来
latitude: 34.831234072649124,
longitude: 113.51750879996204,
fillColor: "#e6060a6A", //填充颜色
color: "#e6060a6A", //描边的颜色
radius: 25000, //半径
strokeWidth: 2 //描边的宽度
}],
修改圆数据方法
// 发生变化定位
regionchangetab(e) {
console.log("hahaah", e);
let that = this;
if (e.type == "end") {
setTimeout(() => {
uni.createMapContext("myMap", this).getCenterLocation({
type: 'gcj02',
success: (res) => {
console.log("当前地图中心的经纬度", res)
that.latitude = res.latitude;
that.longitude = res.longitude;
let circlesinfo = [{ //在地图上显示圆
latitude: that.latitude,
longitude: that.latitude,
fillColor: "#e6060a6A", //填充颜色
color: "#e6060a6A", //描边的颜色
radius: 50000, //半径
strokeWidth: 2 //描边的宽度
}]
//在这里修改完赋值之后地图上面的圆没有变化,我用v-if强制让map地图刷新的方法也试过都是不行
that.circles = JSON.parse(JSON.stringify(circlesinfo))
},
fail: (err) => {}
})
}, 400);
}
},
0 个回复