在谷歌地图API中,从KML加载的多边形是否包含一个给定的LatLng。

问题描述 投票:0回答:1

我有一个KML文件,其中包含一个多边形。我想写一个简单的应用程序,它将给出一个trueefalse的结果,一个latlng是否在该多边形内。

不管什么原因,这似乎比听起来更困难,因为google.maps.KmlLayer提供的功能似乎非常有限。

我知道一个非KML地图有一个 "containsLocation() "函数,它完全满足我的需要,然而,KML层不包含这样的函数。

google-maps-api-3
1个回答
0
投票

我不太清楚你是如何使用KML文件的,但是我建议你采用以下方法。

  1. 解析你的KML文件(很多语言的库都有)
  2. 使用解析后的KML数据来使用Google Maps API渲染你的多边形(即在Google Maps中使用Google Maps方法重建你的KML多边形)。
  3. 使用谷歌地图API containslocation() 方法来检查一个坐标是否在多边形内部。

谷歌地图API有一个很大的功能集,所以通过这样做,你可以结合他们的一些方法,即你点击地图,程序会告诉你,你刚刚点击的点是否在多边形内。请看一下 这个,我怀疑这就是你想要达到的目的(或者至少是类似的目的)。

编辑。 我所说的解析是指对KML进行解码。

© www.soinside.com 2019 - 2024. All rights reserved.