如何使用 geoXML3 获取路径()

How to getPaths() with geoXML3

我有 600 多个 kml 文件要加载到单个 google 地图中。 最初我尝试使用 KmlLayer(),但由于 kml 文件的数量,它没有工作,所以我找到了 GeoXML3,它工作得很好。

现在我需要检索使用 GeoXML3 创建的每个多边形的路径坐标。 Here 我发现方法 getPaths() 似乎正是我要找的方法,但它不起作用,因为现在我不使用 class Polygon 但使用 class geoxml3

for (i=0; i < controlli.length; i++)
{   
    appo = kmlurl + controlli[i].id + ".kml";
    appo = appo.replace(" ", '_');
    area[controlli[i].id] = new geoXML3.parser({
        map: map,
        zoom: false,
    });
    area[controlli[i].id].parse(appo);
    //here I would like to do something like: 'area[controlli[i].id].getPaths()'
}

我该怎么做?

可以通过 2 种方式访问​​由 geoXml3 创建的用于表示 KML 多边形的 google.maps.Polygon 对象:

  1. area[controlli[0].id].docs[0].placemarks[0].polygon.getPath()

working jsfiddle

  1. area[controlli[0].id].docs[0].gpolygons[0].getPath()

working jsfiddle

其中 geoXml 是对解析器对象的引用(您的 area[controlli[i].id]) i 是对 KML 中地标(或多边形)的顺序引用。

如果您在异步加载的 KML 文件上使用它,则需要等待 parsed 事件,或者使用 afterParse 函数中的数据。