我有一个名为loadmap(){}的函数,其中im创建map.Im,用
ionViewDidEnter() {
this.loadmap();
}我有里面的装填图
this.map = leaflet.map("map").fitWorld();我就是这样初始化地图的
这是我如何删除地图时,用户更改选项卡。
ionViewDidLeave(){
this.map.remove();
}这是我的.locate函数:
var usermarker;
this.map.locate({
setView: true,
maxZoom: 120,
watch:true,
enableHighAccuracy:true
}).on("locationfound", e => {
if (!usermarker) {
usermarker = new L.marker(e.latlng).addTo(this.map);
} else {
usermarker.setLatLng(e.latlng);
}
}).on("locationerror", error => {
if (usermarker) {
this.map.removeLayer(usermarker);
usermarker = undefined;
}
});问题是,在第一次.locate函数works.but中,如果我更改选项卡并返回到map选项卡,.locate函数没有work.if,我删除了works.but选项,它可以工作。
谢谢
发布于 2017-10-31 07:47:41
除了map.stopLocate()以外,你还得打电话给map.remove()
停止监视以前由
map.locate({watch: true})启动的位置
现场演示:https://plnkr.co/edit/PKMPjfX3zD3QdWmEI0iX?p=preview (使用"Toggle“按钮模拟您更改的选项卡)
尽管如此,当使用remove映射方法时,传单可以自动完成这一操作。=>合并为公关单张/单张#5893
https://stackoverflow.com/questions/47021405
复制相似问题