我開始學習如何使用傳單。我正在嘗試使用標記創建地圖。如果你將它們懸停,他們應該顯示一條路線。如果鼠標離開標記,路線應該被刪除。 (此部分有效) 當您點擊標記時,即使鼠標離開標記,路線仍應保留在地圖上。 因此,我需要複製路徑圖層,以便鼠標離開標記時不會被刪除。或者有更好的方法,我不知道。重複的圖層/顯示permanantly點擊
function Route() {
DirectionsLayerLong = omnivore.gpx('GPX/ Route_long.gpx');
DirectionsLayerLong.on('ready', function() {
this.setStyle(style_long);
});
DirectionsLayerShort = omnivore.gpx('GPX/Route_short.gpx');
DirectionsLayerShort.on('ready', function() {
this.setStyle(style_short);
});
return DirectionsLayer = L.featureGroup([DirectionsLayerLong, DirectionsLayerShort]);
};
var Marker = L.marker([50, -100], {
icon: iconfu
}).addTo(map);
Marker.on('mouseover', function(e) {
Route();
DirectionsLayer.addTo(map);
});
Marker.on('mouseout', function(e) {
DirectionsLayer.remove()
});
Marker.on('click', function(e) {
DirectionsPermaLayer.remove();
Route();
DirectionsPermaLayer = DirectionsLayer;
DirectionsPermaLayer.addTo(map);
});
我可以簡單地使用omnivore與另一個變量,但我想重用該函數。
感謝您的回答。我剛學會如何停用事件監聽器。 但這會造成問題。我沒有提到的是,我有多個標記,懸停功能應該可用,即使在我點擊第一個標記後。 每次單擊一個標記時,它會永久突出顯示此路線,直到您單擊下一個標記。在此期間,您仍然可以將鼠標懸停在其他標記上並查看這些路線。 – Hedaja
我重新編寫了一段代碼,現在就使用你的想法進行復制。再次感謝。 – Hedaja