2013-02-27 7 views
7

現在、私たちが取り組んでいるサイトの「エリアを検索」機能を構築中です。 Rightmoveのようなビット。GoogleマップAPIを使用してポリゴンのイベントの変更を追跡する方法

ポリゴンのイベントの変更(新しいポイントの設定や既存のポイントの変更)を追跡する機能を除いて、すべての機能が稼働しています。私は提出のためにフォームに座標を掲示できる必要があります。

私はediting eventsのGoogle Codeのドキュメントを試しました。そして私が試してみるたびに、私は 'set_at'が可能でないか、またはオブジェクトが定義されていないというメッセージを受け取ります。

は、私が知っているビットが間違っていない新しいgoogle.maps.event.addListener(thePolygon, 'set_at', function() { // grab paths for infoWindow grabPaths(thePath); });

に通過させthePolygon変数であると仮定しかし、私は理由を知りません。これはグローバル変数です。そうではありませんか?

問題は、更新された座標をフォームに渡すためにポリゴンの変更を追跡するにはどうすればいいですか?

すべてのサポートをよろしくお願いします。ここで

私が現在持っているコードは次のとおりです。これらのイベントはMVCArrayのために定義されている

var mapOptions = { 
    // options 
}; 

var map = new google.maps.Map(document.getElementById('map'), mapOptions); 

var drawingManager = new google.maps.drawing.DrawingManager({ 
    drawingMode: google.maps.drawing.OverlayType.POLYGON, 
    drawingControl: false, 
    polygonOptions: { 
    // drawing options 
    } 
}); 

drawingManager.setMap(map); 

google.maps.event.addListener(drawingManager, 'polygoncomplete', function(polygon) { 
    // complete functions 
}); 

google.maps.event.addListener(thePolygon, 'set_at', function() { 
    // complete functions 
}); 

google.maps.event.addListener(thePolygon, 'insert_at', function() { 
    // complete functions 
}); 

答えて

22

、ポリラインはMVCArrayではありません。代わりに、ポリラインのpath(MVCArray)のイベントを監視する必要があります。さらに、まだ作成されていないオブジェクトにリスナーを追加することはできません。

google.maps.event.addListener(drawingManager,'polygoncomplete',function(polygon) { 

    // complete functions 

    google.maps.event.addListener(thePath, 'set_at', function() { 
    // complete functions 
    }); 

    google.maps.event.addListener(thePath, 'insert_at', function() { 
    // complete functions 
    }); 

}); 
+0

ハハは、御馳走を動作します:あなたはpolygoncomplete、コールバックの内側にリスナーを追加する必要がありますので、ポリゴンは、polygoncomplete前には使用できません。私はとても近かったが、それまでのところだった。ご協力いただきありがとうございます。大変に感謝しています。それは私が推測することができなかったパスの変化をつかむことでした。しかしそれはとても簡単でした。 –

+0

http://stackoverflow.com/questions/12515748/event-after-modifying-polygon-in-google-maps-api-v3 – jjwdesign

+5

'thePath'の代わりに' polygon.getPath() 'を使用 –

関連する問題