gpt4 book ai didi

javascript - 无法删除 leaflet.js 中带有簇的图层

转载 作者:行者123 更新时间:2023-12-01 01:59:07 24 4
gpt4 key购买 nike

我正在使用leaflet cluster plugin绘制出一系列崩溃事件。当您加载页面时,我会列出所有崩溃情况(存储在 GeoJSON 文件中)。我还有每年加载不同 geoJSON 文件的按钮。

我遇到的问题是removeLayer()实际上并没有删除图层。因此,当我重新映射新的 GeoJSON 文件时,它只是将所有崩溃堆叠在一起。

这是我单击按钮时触发的两个函数。 var 标记 是在全局命名空间中定义的,如下所示(也许这是问题的一部分)?

var markers = L.markerClusterGroup({spiderfyDistanceMultiplier: 1.3});

//Lay new data on map
function buildMarkers(yearData){
var crashLayer = new L.geoJson(yearData, {
onEachFeature: function (feature, layer) {
layer.bindPopup(feature.properties.year);
}
});
markers.addLayer(crashLayer);
map.addLayer(markers);

}

//Remove ALL data on map
function removeClusters(){
map.removeLayer(markers)
}

//AN example of a button
$("#twelve").click(function(e){
e.preventDefault();
$('a').removeClass('selected');
$(this).addClass('selected');
removeClusters();
buildMarkers(twelveCrashes);
});

最佳答案

刚刚想通了。

为了清除标记变量中的所有数据,我使用了clearLayers()。因此,在我的 buildMarkers() 函数中,我只需将其添加到函数的第一行

markers.clearLayers();

这会清除所有数据。

关于javascript - 无法删除 leaflet.js 中带有簇的图层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18706743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com