Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从层内的多边形获取坐标_Javascript_Leaflet - Fatal编程技术网

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