javascript - 如何使用 geoXML3 getPaths()

标签 javascript google-maps google-maps-api-3 polygon geoxml3

我有超过 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 对象:

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

working jsfiddle

  • area[controlli[0].id].docs[0].gpolygons[0].getPath()
  • working jsfiddle

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

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

    关于javascript - 如何使用 geoXML3 getPaths(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30038781/

    相关文章:

    javascript - for循环中的变量未定义?

    javascript - 我的无限滚动用 Safari 附加两次并复制

    java - 在java中通过Google获取地址经度和纬度的最佳方法是什么

    java - Android MapsUtils - 在 map 上点击获取位置

    google-maps - Google Maps v3 中的弹性标记

    javascript - 更改浏览器大小的 Href + jQuery

    javascript - 使用 RxJS 限制异步请求

    php - Google Places API 网络服务 (PHP) : how to get 'administrative_area_2 place_id' for a given 'place_id'

    javascript - 使用航路点时的最短路线

    javascript - 如何删除由 Google map 信息窗口创建的空 div(关闭 map 上的信息窗口,单击打开新信息窗口时也关闭旧的信息窗口)