【发布时间】:2015-11-16 17:51:27
【问题描述】:
我在地图上绘制了近 4 到 5 千个标记。我希望用户允许在地图上绘制多边形,然后删除阴影多边形内的那些标记。谁能指导我如何找到多边形阴影区域内的标记?
【问题讨论】:
标签: google-maps-api-3 polygon marker
我在地图上绘制了近 4 到 5 千个标记。我希望用户允许在地图上绘制多边形,然后删除阴影多边形内的那些标记。谁能指导我如何找到多边形阴影区域内的标记?
【问题讨论】:
标签: google-maps-api-3 polygon marker
首先您需要使用geometry library。将 libraries=geometry 附加到您用于加载 Maps API 的 URL 的查询字符串中:
<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 个标记。通过“删除这些标记”,您只是意味着将它们从视图中删除。此时您可能还想触发一个 ajax 请求,和/或从该标记数组中删除它们。
【讨论】: