0

我有一张带有 5 个标记和 25 个矩形的地图。然后我将标记拖到一个我想知道矩形标题的矩形上。

现在我有一个矩形的监听器,只是为了看到它们被正确命名并且这工作正常

google.maps.event.addListener(partialRectangle, 'click', function() {
  console.log(this.title);
});

我也有一个标记的监听器来获取一些信息然后拖动它们,这也很好

google.maps.event.addListener(marker, 'dragend', function() {
    console.log(marker.getPosition());
    console.log(this.title);

});

知道如何获取有关我在哪个矩形中放置标记的信息吗?

这段代码解决了我的问题

google.maps.event.addListener(marker, 'dragend', function() {
for(var i = 0; i < 25; i++){ // looping through rectangles
    if(partialRectangles[i].bounds.contains(marker.getPosition()))
        console.log(partialRectangles[i].title);
} 
 });
4

1 回答 1

1

在每个标记的dragend侦听器中,循环遍历所有矩形LatLngBounds并使用该contains(latLng:LatLng)函数来确定新标记的位置是否在该矩形的LatLngBounds.

伪代码:

google.maps.event.addListener(marker, 'dragend', function() {
    for (var i = 0; i < rectangles.length; i++) {

         if(rectangles[i].getBounds().contains(marker.getPosition())) {
               console.log(rectangles[i].title);
         }
    }

});
于 2012-09-23T16:56:58.263 回答