【问题标题】:Point inside polygon -- json or kml?点在多边形内——json 还是 kml?
【发布时间】:2013-11-26 13:55:27
【问题描述】:

我正在尝试决定是否要使用 json 或 kml 将多边形存储在服务器上的文件中。我必须读入这个文件并检查给定点在哪个多边形内。我被 kml 所吸引,因为我可以使用 Google Maps Javascript API 将整个 kml 文件渲染成两行:

var importedKml = new google.maps.KmlLayer('mykml.kml'); 
importedKml.setMap(map);

但是,我找不到用于检查某个点是否在 kml 文件中的所有多边形内的内置函数。我知道我可以使用以下代码检查一个点是否在多边形中:

google.maps.geometry.poly.containsLocation(latlngPoint, polygon);

但看起来好像我必须解析 kml 并转动每个

<Placemark><Polygon> 

首先将特征放入 google.maps.polygon 对象中。

我考虑过回到 json,因为 json 对象是非常可定制的,我可以直接调用类似的东西

//json object polygonFile from server
google.maps.geometry.poly.containsLocation(latlngPoint, polygonFile.polygons[0].polygon);

使用我自己构建的结构。如果不先将 json 转换为 google maps 对象,然后再渲染这些对象,则没有快速简便的方法可以将 json 渲染到地图。

有没有办法检查一个点是否在 kml 文件中的多边形内首先将每个要素转换为谷歌地图对象?如果没有,将 json 对象转换为 google maps 对象听起来像是要走的路。

【问题讨论】:

    标签: javascript json google-maps google-maps-api-3 kml


    【解决方案1】:

    GEarthExtensions 怎么样。 Polygon 对象有一个函数“containsPoint” 这是一个例子: http://code.google.com/p/earth-api-utility-library/source/browse/trunk/extensions/examples/point-in-poly.html

    【讨论】:

      猜你喜欢
      • 2019-04-26
      • 2017-02-23
      • 2012-03-06
      • 2017-10-09
      • 2013-02-22
      • 2011-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多