javascript 如何在leaflet.js中添加单击事件标记

3yhwsihp  于 2023-01-29  发布在  Java
关注(0)|答案(2)|浏览(224)

我想添加标记,当我点击Map.但我不知道如何做:(

默认情况下,我不希望有标记Map

我刚刚写了这段代码:

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);

    var markerOptions = {
        title: "MyLocation",
        clickable: true,
        draggable: true
    }

    function onClick(e) {
        alert(this.getLatLng());
    }
    var marker = L.marker([17.385044, 78.486671], markerOptions).on('click',onClick);
    marker.addTo(map);
7eumitmz

7eumitmz1#

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

o8x7eapl2#

如果您只想在Map上设置一个标记,请注意,您必须删除前一个标记。

var marker;
 map.on('click', function (e) {
  if (marker) { // check
   map.removeLayer(marker); // remove old layers
  }
 marker = new L.Marker(e.latlng).addTo(map); // set New Layer         
 });

相关问题