将我的标记拖动到google map api v3时需要找到矩形标题

时间:2012-09-23 14:51:29

标签: google-maps google-maps-api-3 google-maps-markers

我有一张包含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);
} 
 });

1 个答案:

答案 0 :(得分:1)

在每个标记的dragend侦听器中,遍历所有矩形的LatLngBounds并使用contains(latLng:LatLng)函数确定新标记的位置是否在该矩形的LatLngBounds内。< / p>

的伪代码:

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);
         }
    }

});