1

好吧,我已经通读并试图找出解决方案但失败了......

我按照 geoxmlv3 的说明进行操作:http ://code.google.com/p/geoxml3/wiki/Usage

这是该文件的引述:

  <script type="text/javascript">
    var myParser = new geoXML3.parser({afterParse: useTheData});
    myParser.parse('my_geodata.kml');

    function useTheData(doc) {
      // Geodata handling goes here, using JSON properties of the doc object
      for (var i = 0; i < doc.placemarks.length; i++) {
        doSomething;
      }
    };
  </script>

根据文档, doc.placemarks 应该可以正常工作并在 KML 文件中返回一个地标 json 数组,不幸的是,这个“doc”甚至不存在(未定义),知道吗?

4

2 回答 2

2

如果您使用的是 poly 分支,“doc”是一个数组。

function useTheData(doc) {
  // Geodata handling goes here, using JSON properties of the doc object
  for (var i = 0; i < doc[0].placemarks.length; i++) {
    doSomething;
  }
};

我将修复文档中的示例。

工作示例

于 2012-12-26T12:49:52.953 回答
0

为什么不使用 Google Maps API v3 的 KmlLayer?将 KML 文件中的信息映射到地图上很容易。

https://developers.google.com/maps/documentation/javascript/layers#KMLLayers

于 2012-12-26T04:03:35.980 回答