我有超过600个kml文件要加载在一个谷歌地图。一开始我尝试使用KmlLayer(),但是由于kml文件的数量,它没有工作,所以我找到了GeoXML3,它运行得很好。
现在,我需要为用GeoXML3创建的每个多边形检索路径的同弦。这里,我找到了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()'
}我该怎么做?
发布于 2015-05-04 20:12:28
google.maps.Polygon对象由geoXml3创建,用于表示KML多边形,可以通过以下两种方式访问:
area[controlli[0].id].docs[0].placemarks[0].polygon.getPath()工作小提琴
area[controlli[0].id].docs[0].gpolygons[0].getPath()工作小提琴
其中,geoXml是对解析器对象(您的area[controlli[i].id])的引用,而我是对KML中placemarks (或多边形)的顺序引用。
如果在异步加载的KML文件上使用它,则需要等待parsed事件,或者使用afterParse函数中的数据。
https://stackoverflow.com/questions/30038781
复制相似问题