私は描画マネージャを使用してGoogleマップを作成しています。ここでユーザーはポリゴンを描画してそのデータをデータベースに保存できます。 overlaycompleteイベントのイベントリスナーをdrawingManagerオブジェクトに追加しました。イベントが発生すると、ポリゴンの座標が非表示のフィールドに書き込まれます。これは素晴らしいです - 唯一の問題は、個々の頂点がそのポイントの後でドラッグ/変更された場合にイベントが発生しないことです。私は(いずれかの)変更時にフィールドを更新するか、ユーザーが投稿をヒットして非表示フィールドに書き込むときにポリゴン頂点を反復する必要があります。私はかなりこの作業を取得する方法を見つけ出すことはできませんが、私は今のところここにあるものを見ることができます。http://jsfiddle.net/5Y4WT/21/drawingManagerポリゴンパスを抽出するGoogle Maps on click
HTML:
<div id="map_canvas" style="width:500px; height:450px;"></div>
<form method="post" accept-charset="utf-8" id="map_form">
<input type="text" name="vertices" value="" id="vertices" />
<input type="button" name="save" value="Save!" id="save" />
</form>
はJavaScript:
var map; // Global declaration of the map
var iw = new google.maps.InfoWindow(); // Global declaration of the infowindow
var lat_longs = new Array();
var markers = new Array();
var drawingManager;
function initialize() {
var myLatlng = new google.maps.LatLng(40.9403762, -74.1318096);
var myOptions = {
zoom: 13,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.POLYGON,
drawingControl: true,
drawingControlOptions: {
position: google.maps.ControlPosition.TOP_CENTER,
drawingModes: [google.maps.drawing.OverlayType.POLYGON]
},
polygonOptions: {
editable: true
}
});
drawingManager.setMap(map);
google.maps.event.addListener(drawingManager, "overlaycomplete", function(event) {
var newShape = event.overlay;
newShape.type = event.type;
});
google.maps.event.addListener(drawingManager, 'overlaycomplete', function(event) {
$('#vertices').val(event.overlay.getPath().getArray());
});
}
initialize();
$(function(){
$('#save').click(function(){
//iterate polygon vertices?
});
});
見たことがあります[この例では、DrawingManagerを使用してポリゴンパスをエクスポートしています(http://www.geocodezip.com/blitz-gmap-editor/test5.html)。 [Blitz Map Editor](http://code.google.com/p/blitz-gmap-editor/)プロジェクトに基づいています。 – geocodezip
@geocodezipありがとう!私は必要なビットを抽出することができたし、それは素晴らしい作品です! – Yev