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

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

在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。