1
11
其他解决方案: Google-Maps-Point-in-Polygon
|
2
22
你可以用这个 谷歌地图V3 -
多边形是函数在 多边形完成 .
参考文献 https://developers.google.com/maps/documentation/javascript/reference |
3
5
谷歌在几何学库中提供了自己的实现,我还没有检查过,但可能涵盖了其他答案中讨论的边缘案例。 见包含位置法 described here . 注意你必须 import the geometry library explicitly, as it is not in the base map API |
4
4
我使用此算法检测点在多边形内: http://alienryderflex.com/polygon/
我添加了一个新方法
|
5
2
这里描述的每个方法都以某种方式失败。
安德烈一世和纳蒂姆给出的方法
不
考虑具有测地线边缘的多边形。这些方法也没有意识到谷歌地图中的非测地线边缘只是墨卡托投影中的直线。这些方法假设顶点位于等距离纬度/经度网格上,其中一个纬度等于一个经度。由于这个错误,这些方法将指示一个点在多边形外部,而在某些情况下显示在多边形内部。这对于长的非垂直/非水平边缘很容易观察到。
保罗·吉布斯、斯瓦普尼尔·乌达尔和阿迪·莱斯特提到的方法 做 考虑测地线边缘,但从Google Maps v3.9开始,它对非测地线多边形使用上面提到的相同方法。因此,它也受到上述相同问题的困扰。 更新 -谷歌地图的问题已在目前的实验版谷歌地图v3.10中得到纠正。 |
6
2
不需要复杂的算法,我可以使用HTML画布的ispointinPath()方法来实现这一点。 http://www.w3schools.com/tags/canvas_ispointinpath.asp 创建画布元素。 使用moveto()、lineto()方法绘制具有多个端点的多边形。 使用isPointInPath()方法验证点(x,y)是否位于多边形内。
|
Softly · 单选按钮未按预期取值 1 年前 |
SlickRed · 我无法使用JS关注HTML元素 1 年前 |
assembler · Nextjs没有处理发布请求 1 年前 |
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
Toniq · javascript为php保存多维数组 1 年前 |