2017-08-24 87 views
2

我有一個Leaflet地圖,當用戶單擊提供的圖標並在第二次單擊時將其壓縮爲原始大小時,我將調整爲全屏。Leaflet標記在invalidateSize後丟失位置

我在調整大小後使用invalidateSize()方法,但我注意到我在地圖上的標記丟失了它的位置。

enter image description here


的問題是,我是更新有關點擊標記的位置,我想點擊按鈕,調整大小造成的標記座標設置爲錯誤的位置。所以傳單工作正常。我通過在放大圖標上使用event.stopPropagation()而不是僅對event.preventDefault()進行了修復。對

回答

0

嘗試設置超時驗證

setTimeout(function(){map.invalidateSize()},500) 
+0

沒有成功。我嘗試了250ms,500ms和1000ms。銷子剛剛在另一個地方結束了。 –

+0

嘗試刪除標記,並在invalidateSize後重新繪製,至少讓我知道代碼 – KEKUATAN

+0

我可以做到這一點,但如果有更多的標記,它似乎是非常糟糕的做法。我更喜歡適當的解決方案,而不是quickfix :) –