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