いつのまにかオーバーレイにdraggableやeditableなんていうオプションが…。
赤いほうはドラッグだけ、青いほうは白丸を動かすとサイズ編集できます。
google.maps.event.addDomListener(window, "load", function() { // 地図 var map = new google.maps.Map({ // 略 }); // ドラッグだけ var circleBlue = new google.maps.Circle({ center: new google.maps.LatLng(35.170694, 136.881637), radius: 1000, fillColor: "#0000ff", strokeColor: "#0000ff", map: map, editable: true }); // 編集可能 var circleRed = new google.maps.Circle({ center: new google.maps.LatLng(35.172361, 136.861944), radius: 500, fillColor: "#ff0000", strokeColor: "#ff0000", map: map, draggable: true }); });
editableとdraggableを両方trueにすると、中心以外でもドラッグできます。長方形の場合は中心に○が出ないので、ドラッグもさせたい場合はこうするしかないです。
var rect = new google.maps.Rectangle({ bounds: new google.maps.LatLngBounds( new google.maps.LatLng(35.161711, 136.870648), new google.maps.LatLng(35.179677, 136.892626) ), map: map, editable: true, draggable: true });
円の場合はcenter_changedやradius_changed、長方形の場合はbounds_changed、あるいはどちらもdragendあたりをListenしておけば、変更後の半径や位置情報を得られそうです。