次のコードでわかるように、マーカーはドラッグ可能です。場合によっては、マーカーが間違った領域 (ポリゴン) にドロップされた場合、ドロップ イベントをキャンセルして、その結果、マーカーが自動的に元の位置に戻るようにしたいと考えています。
function placeMarker(latlng, color, isDraggable) {
var marker = new GMarker(latlng, { icon: getIcon(color), draggable: true });
map.addOverlay(marker);
GEvent.addListener(marker, "dragend", function () {
//redraw polygons again
});
GEvent.addListener(marker, "click", function () {
var latlng = marker.getPoint();
map.openInfoWindowHtml(marker.getPoint(), latlng.y + ", " + latlng.x);
});
return marker;
}
dragend問題は、マーカーが既にイベントにドロップされているときに、マーカーのドラッグ イベントをキャンセルするにはどうすればよいかということです。