在多边形

时间:2016-05-25 13:54:18

标签: javascript jquery google-maps google-maps-api-3

嗨我有一个多边形和标记的问题,我在地图中有超过50个多边形现在我想要当我搜索地址并将标记放在地图上然后我想获得标记所在的多边形ID < / p>

这是我在地图中删除多边形的代码

var polyline = new google.maps.Polygon({
            paths: objArray,
            strokeColor: 'green',
            id:zoneid,
            strokeOpacity: 1.0,
            strokeWeight: 3,
            draggable: false,
            editable: false
        });
        polyline.setMap(map);

我将此地图用于多边形上的显示标记 enter image description here 当我把标记放在多边形上然后我想得到那个多边形id 如果您有任何示例或正确的解决方案,请发送给我

1 个答案:

答案 0 :(得分:1)

使用几何库。首先在JS中加载时指定它作为参数:

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

然后,当您创建标记时,请使用其坐标并检查每个多边形中是否存在标记。您可能希望将每个多边形放入可以循环的数组中。

var markerCoords = marker.getPosition();

for (var i = 0; i < polygons.length; i++) {
    if (google.maps.geometry.poly.containsLocation(markerCoords, polygons[i])) {
        var id = polygons[i].id;
        break;
    }
}

请参阅: