Javascript 获取传单中所有标记的坐标列表

Javascript 获取传单中所有标记的坐标列表,javascript,leaflet,coordinates,Javascript,Leaflet,Coordinates,我正在尝试制作一张网络地图,在地图上添加一个标记,同时获取所有标记的纬度坐标,以便以后保存在我的数据库中。我提出了这个函数来实现这一点: function newMarker(e) { var new_mark = L.marker() .setLatLng(e.latlng) .addTo(map_4562f93a48a3459d95c4d292f52b5adc); new_mark.dragging.enable(); new_mark.on("dblclick"

我正在尝试制作一张网络地图,在地图上添加一个标记,同时获取所有标记的纬度坐标,以便以后保存在我的数据库中。我提出了这个函数来实现这一点:

function newMarker(e) {
  var new_mark = L.marker()
    .setLatLng(e.latlng)
    .addTo(map_4562f93a48a3459d95c4d292f52b5adc);
  new_mark.dragging.enable();
  new_mark.on("dblclick", function(e) {
    map_4562f93a48a3459d95c4d292f52b5adc.removeLayer(e.target);
  });

  var latlngs = [];
  var lat = e.latlng.lat.toFixed(4),
    lng = e.latlng.lng.toFixed(4),
    mark_latlon = new_mark.getLatLng();

  map_4562f93a48a3459d95c4d292f52b5adc.eachLayer(function(layer) {
    latlngs.push(mark_latlon);
    console.log(latlngs);
  });

  new_mark.bindPopup("Waypoint");
}

map_4562f93a48a3459d95c4d292f52b5adc.on("click", newMarker);

这段代码的问题在于,每次通过单击创建标记时,它只添加最后一个标记的坐标。我希望所有坐标都附加到latlongs数组中。如果可能的话,我希望在删除或拖动时更新它。有人能帮我吗?

你的代码完全按照你告诉它的做了-在非常新的标记上,它创建一个新的空数组,迭代地图中的每一层(包括非标记的东西),并将新添加的标记(
mark_latlon
)的latlng添加到数组中,你的代码并没有重复它所遍历的层的坐标(这将是
layer.getLatLng()
for s),而是完全按照你告诉它的去做——在非常新的标记上,它创建一个新的空数组,迭代地图中的每一层(包括非标记的东西),并添加新添加标记的latlng(
mark_latlon
)到数组,而不是它所迭代的层的坐标(对于s,这将是
layer.getLatLng()