我在传单地图中实现了一个引脚指针。
function showLeaflet() {
var map = L.map("map", {minZoom:1, maxZoom: 1}).setView([66, 384], 1);
var imageUrl = detailResult.deck[deckFloor].deckplanLarge;
var imageBounds = [[0, -200], [768, 1024]];
var cord = (detailResult.deck[deckFloor].markerCordinates).split(',');
L.imageOverlay(imageUrl, imageBounds).addTo(map);
L.marker([cord[0], cord[1]]).addTo(map).bindPopup(detailResult.title).openPopup();
map.setMaxBounds(imageBounds);
}
如何在以下事件中删除该指针指针。
map.on('click', function(){
//remove pointer
});
请帮帮我。感谢..
答案 0 :(得分:3)
您需要将标记指定给变量,以便您可以使用removeLayer
L.Map
方法将其从地图中删除:
var marker = L.marker([0, 0]).addTo(map);
map.on('click', function () {
map.removeLayer(marker);
});
关于Plunker的工作示例:http://plnkr.co/edit/lTXtnX?p=preview这里是L.Map
的图层方法的参考:http://leafletjs.com/reference.html#map-stuff-methods
答案 1 :(得分:1)
您需要将创建的标记存储在某处,然后使用它调用map.removeLayer。我在下面编辑了你的代码。
function showLeaflet() {
var map = L.map("map", {minZoom:1, maxZoom: 1}).setView([66, 384], 1);
var imageUrl = detailResult.deck[deckFloor].deckplanLarge;
var imageBounds = [[0, -200], [768, 1024]];
var cord = (detailResult.deck[deckFloor].markerCordinates).split(',');
L.imageOverlay(imageUrl, imageBounds).addTo(map);
var mark = L.marker([cord[0], cord[1]]).addTo(map).bindPopup(detailResult.title).openPopup();
map.setMaxBounds(imageBounds);
map.on('click', function(){
//remove pointer
map.removeLayer(mark);
});
}