如何从图层中的多边形获取坐标

时间:2017-03-30 09:07:47

标签: javascript leaflet

我有LayerGroup

var mapLayer = new L.layerGroup();

这是我向此LayerGroup添加多个多边形的方法:

var buffered = turf.buffer(polyline, path_alarmweight, 'meters');
bufferedPolygon = L.geoJson(buffered, bufferedOptions).addTo(mapLayer);`

如何从我添加到mapLayer的单个或多个多边形中获取坐标?

1 个答案:

答案 0 :(得分:0)

首先,您需要在documentation中获取LayerGroup的所有图层,并使用getLayers()函数。您将在LayerGroup中获取图层:

var arrayOfLayers = mapLayer.getLayers();

然后你可以迭代arrayOfLayers,对于每一层你都可以获得带有getLatLngs()函数的多边形坐标。请参阅reference

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]);
    }
}