這應該很容易做到。首先,您需要保留對所有標記的引用。然後要切換拖動行爲,您可以簡單地遍歷標記並在每個標記上調用enableDragging()
或disableDragging()
方法。
爲了達到此目的,您的標記將不得不使用GMarkerOptions.draggable
選項進行初始化設置爲true
,但我認爲您已經在執行此操作。
這裏是一個完全工作的例子:
<!DOCTYPE html>
<html>
<head>
<script src="http://maps.google.com/maps?file=api&v=2&sensor=false"
type="text/javascript"></script>
</head>
<body onunload="GUnload()">
<div id="map" style="width: 400px; height: 300px"></div>
<input type="button" value="Toggle Drag" onclick="toggleDrag()">
<script type="text/javascript">
var map = new GMap2(document.getElementById("map"));
var point = new GLatLng(51.49, -0.12);
var marker = new GMarker(point, { draggable: true });
map.setCenter(point, 8);
map.addOverlay(marker);
function toggleDrag() {
if (marker.draggingEnabled()) {
marker.disableDragging();
}
else {
marker.enableDragging();
}
}
</script>
</body>
</html>
輝煌,感謝丹尼爾。 – Sivakanesh 2010-07-16 07:47:06