Javascript 如何从层内的多边形获取坐标
我有一个Javascript 如何从层内的多边形获取坐标,javascript,leaflet,Javascript,Leaflet,我有一个图层组 var mapLayer = new L.layerGroup(); 这就是我如何将几个多边形添加到此图层组中的方法: var buffered = turf.buffer(polyline, path_alarmweight, 'meters'); bufferedPolygon = L.geoJson(buffered, bufferedOptions).addTo(mapLayer);` 如何从添加到mapLayer的单个或多个多边形中获取坐标?首先,您需要从Layer
图层组
var mapLayer = new L.layerGroup();
这就是我如何将几个多边形添加到此图层组中的方法:
var buffered = turf.buffer(polyline, path_alarmweight, 'meters');
bufferedPolygon = L.geoJson(buffered, bufferedOptions).addTo(mapLayer);`
如何从添加到mapLayer
的单个或多个多边形中获取坐标?首先,您需要从LayerGroup
获取所有图层,请使用中的getLayers()
函数。您将在LayerGroup中获得图层:
var arrayOfLayers = mapLayer.getLayers();
然后您可以迭代arrayOfLayers
,对于每一层,您可以使用getLatLngs()
函数获得多边形的坐标。见:
for(变量i=0;i
我尝试了你的代码,但现在我得到一个TypeError:TypeError:arrayOfLayers[I]。getLatLngs不是一个函数OK。我明白了。我刚刚又调用了一次“var arrayOfLayers=mapLayer.getLayers();”。非常感谢你的帮助。
for(var i=0; i < arrayOfLayers.length; i++) {
// first get array of coordinates
var arrayOfPoints = arrayOfLayers[i].getLatLngs();
//then iterate over coordinates
for(var j=0; j < arrayOfPoints.length; j++) {
console.log(arrayOfPoints[j]);
}
}