我有超过 600 个 kml
文件需要加载到单个 Google map 中。
最初我尝试使用 KmlLayer()
,但由于 kml
文件的数量,它不起作用,所以我找到了 GeoXML3
,它工作得很好。
现在我需要检索使用 GeoXML3 创建的每个多边形的路径坐标。 Here我发现方法 getPaths()
似乎正是我正在寻找的方法,但它不起作用,因为现在我不使用类 Polygon
创建多边形> 但使用类 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()'
}
我该怎么做?
最佳答案
可以通过两种方式访问由 geoXml3 创建的用于表示 KML 多边形的 google.maps.Polygon 对象:
area[controlli[0].id].docs[0].placemarks[0].polygon.getPath()
area[controlli[0].id].docs[0].gpolygons[0].getPath()
其中 geoXml 是对解析器对象的引用(您的area[controlli[i].id]
)
i 是对 KML 中地标(或多边形)的顺序引用。
如果您在异步加载的 KML 文件上使用它,则需要等待 parsed
事件,或使用 afterParse
函数中的数据。
关于javascript - 如何使用 geoXML3 getPaths(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30038781/