Google Map API:标记多边形内的标记

时间:2015-11-16 17:51:28

标签: google-maps-api-3 polygon marker

我在地图上绘制了近4到5千个标记。我希望用户允许在地图上绘制多边形,然后删除阴影多边形内的那些标记。任何人都可以指导我如何找到哪些标记在多边形的阴影区域内?

1 个答案:

答案 0 :(得分:1)

首先,您需要使用geometry library。将libraries=geometry附加到用于加载Maps API的网址的查询字符串中:

<script src="https://maps.googleapis.com/maps/api/js?libraries=geometry"></script>

然后您可以使用containsLocation函数检查每个标记是否在多边形内。

for (var i = 0; i < markers.length; i++) {
    if (google.maps.geometry.poly.containsLocation(markers[i].getPosition(), yourPolygon)) {
        markers[i].setMap(null);
    }
}

我假设你在这个名为markers的数组中得到了这些5k标记。并删除这些标记&#39;你只是意味着从视图中删除它们。您可能还想在此时触发ajax请求,和/或从该标记数组中删除它们。