Googleマップで編集可能なポリゴンを作成しようとしていますが、そのポリゴンのジオ座標を返します。次のJS Fiddleでは、三角形を作成してポイントの1つをドラッグすると、イベントリスナーはクリックを取得しません。もちろん、ポイントをもう一度クリックすると認識されます。Google Maps APIクリックリスナーにドラッグを認識させる方法
ポリゴンのイベントをドラッグするためのGoogleマップにイベントリスナーを追加する方法はありますか?
http://jsfiddle.net/mclean25/pnc4ttb0/5/
HTML
<div id="map_canvas" style="width:500px; height:450px;"></div>
<textarea height="100" wid name="vertices" value="" id="vertices" ></textarea>
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){
overlayClickListener(event.overlay);
var values = event.overlay.getPath().getArray();
for (var i = 0; i < values.length; i++){
//console.log("lat:", values[i].lat());
//console.log("lng:", values[i].lng());
}
$('#vertices').val(event.overlay.getPath().getArray());
});
}
function overlayClickListener(overlay) {
google.maps.event.addDomListener(overlay, "click", function(event){
console.log("Changing this guy!");
$('#vertices').val(overlay.getPath().getArray());
});
}
initialize();
$(function(){
$('#save').click(function(){
//iterate polygon vertices?
});
});
あなたはヨーヨーを行い、正確に何をしたいですかポリゴンをドラッグしたいですか?マーカーをクリックしますか?またはメーカーにドラッグしますか? –
はい、ポリゴンをドラッグし、リスナーが変更を認識できるようにします。そこから、私は各点の新しい緯度/経度を記録するつもりでした。 – thefoxrocks