1. 程式人生 > >關於使用L.vectorGrid進行矢量切片,無法獲取點屬性的問題

關於使用L.vectorGrid進行矢量切片,無法獲取點屬性的問題

點擊 了無 編寫 問題 手動 issue 參考 json null

在L.vectorGrid(以下簡稱為lvg)編寫者的issue帖中找到了解決了無法找到lng的問題的方法。

由於:

(1)pointSymbolizers繼承自circleMarker;

(2)lvg marker不含有latlng。

(3)lvg要素沒有固定的latlng,只有瓦片的局部坐標。從而導致了point點擊事件報錯。

瀏覽lvg的github發現lvg編寫者在一個月前的一片issue貼中給出了解決辦法(參考:https://github.com/Leaflet/Leaflet.VectorGrid/pull/157):通過在dist/Leaflet.vectorGrid.js中第501行後添加代碼layer.getLatLng = null,置空了點圖層的getLatlng的方法,阻止了leaflet將這些point當作真正的marker,這樣才可以在設置樣式時將json數據中按照獲取到的latlng進行地圖上的點位繪制。從而解決了這個問題。今後有開發者在lvg的使用中如果出現同樣的bug,請在npm i之後手動添加此行代碼以解決這個bug。

關於使用L.vectorGrid進行矢量切片,無法獲取點屬性的問題