0
我有兩個函數可以將標記加載到我的地圖中。 (這兩個函數被稱爲上調用Ajax的成功)刪除傳單markercluster中的項目
第一功能是這樣的:
function loadEpsMarkers(data) {
for (var i = 0; i < data.length; i++) {
var plateNo = data[i].PLATE_NUMBER;
var permitNo = data[i].PERMITINFOID;
var inventoryId = data[i].INVENTORY_ID;
var icon = epsiconR;
if (data[i].INVENTORY_STATUS === 'Complete') {
icon = epsiconC;
}
var popup = '<h5>EPS</h5>' + 'Plate:' + plateNo + '<br/>' +
' Permit: <a class=\'link\' data-inventoryId="' + inventoryId + '" href=' + url + '>' + permitNo + '</a>' +
'<p style=\"color:blue\">' + '' + '<a class=\'link\' href=' + url + '>' +
'Import' + '</a>' + '<br/>' + '<a class=\'link\' href=' + url + '>' +
'Duplicate' + '</a>' + '<br/>' + '<a class=\'link\' href=' + url + '>' +
'Removed' + '</a>' + '<br/>' + '</p>';
var m = L.marker([data[i].REF_LATITUDE, data[i].REF_LONGITUDE], { icon: icon, draggable: 'true' })
.bindPopup(popup);
markerClusters.addLayer(m);
}
map.addLayer(markerClusters);
map.invalidateSize(false);
}
第二個功能是相同的,除了數據是不同的。 這工作得很好,我得到了預期的聚集標記。
現在我有一個按鈕,當我點擊這個按鈕時,它應該從第一次調用中隱藏標記。
簡單的方法是刪除圖層,然後重做第二個調用。但這似乎是這樣做的一種低效率的方式。
如果我有4個這樣的數據調用並且我想切換來自每個調用的標記,這會變得更加複雜。
我已經試過這樣的事情還有:
$('#dvEpsOnlyMarkers').click(function() {
markerClusters.removeLayer(m);
});
但是,這是行不通的。關於如何使這項工作的任何想法?
在此先感謝
謝謝。我已經測試了這一點,也從研究中瞭解到這是接近上述情況的正確方法。我希望這對我和其他人一樣有幫助。謝謝... – w2olves