現在、作業中のサイトの「エリアの検索」機能を構築しています。Rightmoveのものと少し似ています。
ポリゴンへのイベントの変更を追跡する機能(新しいポイントの設定と既存のポイントの変更)を除いて、すべてが稼働しています。送信するフォームに座標を投稿できるようにする必要があります。
イベントを編集するためにGoogleCodeのドキュメントを試しました。そして、試してみるたびに、「set_at」が不可能であるか、オブジェクトが定義されていないというメッセージが表示されます。
私が知っているビットが間違っているのは、thePolygon
変数が新しいものに渡されていないことだと思います
google.maps.event.addListener(thePolygon, 'set_at', function() {
// grab paths for infoWindow
grabPaths(thePath);
});
でも理由はわかりません。これはグローバル変数です。またはそうではありませんか?
したがって、問題は、ポリゴンへの変更を追跡して、更新された座標をフォームに渡すにはどうすればよいかということです。
すべての助けは大歓迎です。
これが私が現在持っているコードです:
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
});