我实际上正在使用谷歌地图编写一个Web应用程序。
在这个应用程序中,我用4个点定义了一些区域(多边形)。
如果我点击地图,我需要通过计算知道点击的实际点是否在该区域内。
你知道我怎么能这样做?还是用数学方法来了解它?
感谢您提前
答案 0 :(得分:2)
您希望加载Geometry library,如下所示:
<script src="https://maps.googleapis.com/maps/api/js?v=3&libraries=geometry"></script>
然后你可以在地图上有一个事件监听器,用于点击事件,它使用Geometry库的poly.containsLocation
函数来检查多边形是否包含点击的坐标:
map.addListener('click', function(e) {
if (google.maps.geometry.poly.containsLocation(e.latLng, yourPolygon)) {
console.log('in polygon');
}
}
答案 1 :(得分:0)
您可以使用您知道的多边形内部或外部的点,并检查您在该点与所点击的点之间穿过的多边形线。
如果在多边形外面有一个已知点(这很容易,因为你可以选择一个很远的点),并且你用一条绘制到点击点的线穿过奇数个多边形线,那么你就知道了点击的点位于多边形内部。