如何从地图上清除所有标记?

时间:2018-11-14 15:12:55

标签: javascript jquery leaflet

这是我将标记添加到地图的功能:

function markersresult() {
  a++;
  var addressPoints = count;

  markers = L.markerClusterGroup({
    spiderfyOnMaxZoom: false,
    showCoverageOnHover: false,
    zoomToBoundsOnClick: true,
    iconCreateFunction: function(cluster) {
      return new L.DivIcon({
        iconSize: new L.Point(20, 20)
      });
    }
  });

  for (var i = 0; i < addressPoints.length; i++) {
    var a = addressPoints[i];
    var marker = L.circleMarker(L.latLng(a[0], a[1]));
    markers.addLayer(marker);
    marker.on('click', function(e) {
      $('#results').modal('show');
      $("#results .modal-body").html("<p>1 Risultato</p><button id='goToResul' type='button' class='primary-btn'>Go to result</button>");
      var curPos = e.target.getLatLng();
      $("#longiTude").val(curPos.lng);
      $("#latiTude").val(curPos.lat);
      var lat = e.target.getLatLng().lat;
      var lng = e.target.getLatLng().lng;
    });
  }

  map.addLayer(markers);

  //count = [];
  markers.on('clusterclick', function(a) {
    console.log('cluster ' + a.layer.getAllChildMarkers().length);
    var childrenMarkerCluster = a.layer.getAllChildMarkers();
    var lat = null;
    var lng = null;
    $.each(childrenMarkerCluster, function(ind, marker) {
      var markerPosition = marker.getLatLng();
      if (lat === null && lng === null) {
        // store the coordinates of first marker
        lat = markerPosition.lat;
        lng = markerPosition.lng;
        childrenMarkerInSamePosition = true;
        $("#longiTude").val(lng);
        $("#latiTude").val(lat);
      } else {
        // if it has already gotten a result false, stop the compare  
        if (childrenMarkerInSamePosition === false) 
          return;

        if (markerPosition.lat !== lat || markerPosition.lng !== lng) {
          childrenMarkerInSamePosition = false;
        }
      }
    });

    $('#results').modal('show');
    $("#results .modal-body").html("<p>" + a.layer.getAllChildMarkers().length + " risultati</p><button id='goToResul' type='button' class='primary-btn'>Go to result</button>");
  });
}

点击此按钮时,标记应清除:

$("#riprova").on("click", function(){
  // REMOVE MARKERS
});

我不确定应该在哪里markers.clearMarkers();进行操作,因为单击按钮会给我

  

markers.clearMarkers不是函数

1 个答案:

答案 0 :(得分:1)

$("#riprova").on("click", function(){
      markers.clearLayers();
    });

文档位于:

https://github.com/Leaflet/Leaflet.markercluster#adding-and-removing-markers

相关问题