如何使用谷歌地图检测到一个点位于多边形内?

Nat*_*tim 13 javascript geocoding google-maps-api-3

我想发现一个google.maps.LatLng在里面google.maps.Polygon.

我怎样才能做到这一点 ?

干杯,

小智 22

你可以在谷歌地图V3中使用它: -

google.maps.geometry.poly.containsLocation(google.maps.LatLng(latitude, longitude),polygons);
Run Code Online (Sandbox Code Playgroud)

多边形是在polygoncomplete之后由函数返回的对象.

var polygons=null;
google.maps.event.addDomListener(drawingManager, "polygoncomplete", function(polygon) {
        polygons=polygon;
});
Run Code Online (Sandbox Code Playgroud)

参考https://developers.google.com/maps/documentation/javascript/reference


And*_*i I 11

其他解决方案:Google-Maps-Point-in-Polygon

用于Polygon类的Javascript Google Maps v3扩展,用于检测点是否位于其中...


小智 5

Google在几何库中提供了自己的实现,我还没有检查过,但可能会涵盖其他答案中讨论的边缘情况.

请参阅此处描述的containsLocation方法.请注意,您必须显式导入几何库,因为它不在基本映射API中