Jon*_*nyD 2 javascript jquery leaflet
我正在使用传单集群插件来映射出一堆崩溃.当你加载页面时,我映射出所有崩溃(存储在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);
});
Run Code Online (Sandbox Code Playgroud)
Jon*_*nyD 12
刚想通了.
要清除markers变量中的所有数据,我使用了clearLayers().所以在我的buildMarkers()函数中,我只是将它添加到函数的第一行
markers.clearLayers();
Run Code Online (Sandbox Code Playgroud)
并清除所有数据.
| 归档时间: |
|
| 查看次数: |
3867 次 |
| 最近记录: |