google-maps-api-3 - 从 KML 加载的多边形是否包含 Google Maps API 中的给定 Lat/Lng
问题描述
我有一个包含多边形的 KML 文件。我想编写一个简单的应用程序,它会给出关于纬度/经度是否在该多边形内的真/假结果。
无论出于何种原因,这似乎比听起来更困难,因为 google.maps.KmlLayer 似乎对其提供的功能非常有限。
我知道非 KML 地图有一个“containsLocation()”函数,这正是我需要的,但是,KML 层不包含这样的函数
解决方案
我不太确定您是如何使用 KML 文件的,但我建议采用以下方法:
- 解析您的 KML 文件(许多库可用于多种语言)
- 使用已解析的 KML 数据使用 Google Maps API 呈现您的多边形(即使用 Google Maps 方法在 Google Maps 中重建您的 KML 多边形)
- 使用 Google Maps API
containslocation()
方法检查坐标是否在多边形内
Google Maps API 有一个很大的功能集,因此通过这样做您可以合并他们的一些方法,即您点击地图,程序会告诉您您刚刚点击的点是否在多边形内。看看这个,我怀疑这是你想要完成的(或至少类似于它)。
编辑:通过解析我的意思是解码KML
推荐阅读
- ios - 将视图放在右下角,隐藏部分,以编程方式 swift 5
- javascript - 如果输入为空,则禁用按钮
- user-interface - 如何在 VSCode 插件中制作带有字段的屏幕
- android - 连接几个点作为谷歌地图上的路线
- pointers - 进行迭代中序树遍历时出现分段错误
- c - 使应用程序通过 UDP 发现彼此
- css - 我可以结合位置:粘性和浮动:左吗?
- android - 如何解决错误依赖无法添加 Firebase 库
- spring-boot - 如何在spring boot中加载与外键链接的多个表的插入脚本
- google-cloud-platform - 如何在现有 GKE 集群上启用 Istio SDS