1
我無法找到如何更改放置在layerGroup中的圖層(L.Marker)的座標。
我創建全局變量var markerGroup = new L.layerGroup();
L.layerGroup中L.Marker的座標變換
然後我在那裏我創建層就像一個功能:
var newMarker = L.marker([decimal_lat, decimal_lon]);
markerGroup.addLayer(newMarker);
而且我在那裏我改變標誌的座標模態對話框窗口(取決於ID我改變從我的層什麼標記):
(markerGroup.getLayer(id)).setLatLngs(L.latLng(parseFloat(lat_p), parseFloat(lon_p)));
但是這種解決方案使得錯誤,如:
無法讀取屬性「setLatLngs」的未定義
有什麼辦法如何改變在L.layerGroup特定位置L.Marker的座標?
真的,你是對的,但我可以問你,爲什麼你在getLayer()方法中使用24號?我認爲它應該是0,因爲MarkerGroup的長度.. –
'getLayer()'接收圖層的id作爲參數,而不是'LayerGroup'中的索引。你可以在這裏看到它:http://leafletjs.com/reference.html#layergroup-getlayer。遍歷標記組以查看每個圖層的標識:'markerGroup.eachLayer(function(layer){console.log(layer._leaflet_id); \t});' –
這意味着圖層的id是自動生成的,對? –