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 に答える