通过leaflet.js中的单击事件自动删除先前的标记并在地图上添加新的标记

时间:2018-09-16 19:55:06

标签: javascript leaflet

我希望我的地图通过单击自动删除旧标记并添加新标记,但是我不知道该怎么做。

var mapOptions = {
    center: [17.385044, 78.486671],
    zoom: 10
}
var layer = new L.TileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png');
var map = new L.map('mapid', mapOptions);
map.addLayer(layer);

map.on("click", function(e) {
    var mp = null;
    if (mp !== null) {
        map.removeLayer(mp);
    }
    var mp = new L.Marker([e.latlng.lat, e.latlng.lng]).addTo(map);
    alert(mp.getLatLng());
})

1 个答案:

答案 0 :(得分:2)

您需要跟踪先前创建的标记,并在点击事件中将其从地图中删除。

以下是描述如何删除/添加call()标记的基本示例:

``` def call(self, inputs): low_precision_kernel = reduce_precision_by_round_off(self.kernel) <--- Use the low precision kernel get the outputs ---> return outputs ```

build()

Leaflet

HTML

这里是jsfiddle