Javascript 切换拖动添加为可拖动的Google地图标记
我正在开发一个GoogleMapAPIv2应用程序,从数据库中加载标记。然后,用户可以将这些标记拖动到新位置并保存到数据库中 我将这些标记添加为可拖动,但我不希望用户能够意外地拖动它们。因此,我添加了一个按钮来启用拖动,然后再次按下以禁用它 唯一的问题是我不确定如何切换拖动标记的功能而不重新加载它们,因为地图上可能有几百个标记,可能需要一些时间 有什么办法可以做到这一点吗Javascript 切换拖动添加为可拖动的Google地图标记,javascript,google-maps,google-maps-markers,Javascript,Google Maps,Google Maps Markers,我正在开发一个GoogleMapAPIv2应用程序,从数据库中加载标记。然后,用户可以将这些标记拖动到新位置并保存到数据库中 我将这些标记添加为可拖动,但我不希望用户能够意外地拖动它们。因此,我添加了一个按钮来启用拖动,然后再次按下以禁用它 唯一的问题是我不确定如何切换拖动标记的功能而不重新加载它们,因为地图上可能有几百个标记,可能需要一些时间 有什么办法可以做到这一点吗 谢谢,这应该很容易做到。首先,您需要保留对所有标记的引用。然后,要切换拖动行为,只需遍历标记并对每个标记调用or方法 要使其
谢谢,这应该很容易做到。首先,您需要保留对所有标记的引用。然后,要切换拖动行为,只需遍历标记并对每个标记调用or方法 要使其工作,必须使用
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>
VarMap=新的GMap2(document.getElementById(“map”);
var点=新玻璃(51.49,-0.12);
var marker=新的GMarker(点,{draggable:true});
地图设定中心(点8);
添加覆盖图(标记);
函数toggleDrag(){
if(marker.draggingEnabled()){
marker.disabledrading();
}
否则{
marker.enabledrading();
}
}