2017-03-07 62 views
0

我正在用自行車路線示例地圖解決2個小問題。Leaflet - Interactive Map - add event

1.At此刻我的地圖是這樣的:

當鼠標移到航線它突出(這是好事)。

當鼠標移出其路由dehighlights(這也是不錯的)。

當你點擊它突出和放大爲特色的路線上(這是好事)。

這裏是問題的一部分:當你點擊地圖(不是路線)上的任何位置的路由應該dehighlight所以它看起來像默認視圖沒有任何亮點,但它不會發生。 我該如何做到這一點?我試過map.on事件,但我不確定把它放在代碼中。

2.Is有什麼辦法來抵消GeoJSON的線路?我想把它們放在虛線下。我嘗試在我的風格中設置偏移量,但它不起作用。

這裏有一個鏈接到工作地圖

http://mapaszlakow.eu/interactive.html

非常感謝您!

+0

嘿,如果這個問題被關閉,我的回答對您有所幫助,請標記爲接受;) – d324223

回答

1

至於你的問題,點擊地圖在它之外時,dehighlight路線的第一部分 - 你可以用map.on(..)功能接近本作以GeoJSON:在

var geojson = L.geoJson(szlaki, { 
    onEachFeature: function(feature, layer) { 
    layer.on({ 
     ... 
     } 
    }); 

    map.on({ 
     'click': function(e) { 
     geojson.resetStyle(layer); 
     info.update(); 
     selected = null; 
     } 
    }); 

    } 
}).addTo(map); 

例codepen:http://codepen.io/dagmara223/pen/LWbpqP


關於第二個問題,你有沒有嘗試Leaflet.PolylineOffset plugin

+0

這做的工作,但我怎麼也隱藏與路由名稱對應的信息框?出現在右上角的那個?我將調查偏移量插件,謝謝! – Voyteck

+0

@Voyteck我在這裏和codepen編輯我的答案。爲了重置您的信息框,我在map.on()函數中添加了'info.update();'。 pozdrowienia;) – d324223

+0

這很好! Dziękuję! – Voyteck