我在Google Maps api v3中使用自定义控件。在整个网络中搜索并阅读Api v3的文档。
但是我被按钮卡住了,当单击它时,它不会被单击。这是我单击的按钮。
google.maps.event.addDomListener(controlUI, 'click', function() {
drawingManager.setDrawingMode(google.maps.drawing.OverlayType.POLYGON);
});
但是,当我单击另一个自定义按钮时,它在上一个按钮上仍然处于活动状态。
google.maps.event.addDomListener(controlUI, 'click', function() {
map.setOptions({draggable: true});
});
我想要有人单击以创建多边形,然后他单击可拖动的控件,以取消单击多边形按钮并重置功能,就像取消单击该按钮的方式一样,当用户再次单击该功能时,该功能将再次激活。
我希望我能解释一下,以便您理解我的问题。
更新 (因为没有提出第二个问题)。
我在Google地图上找不到redo
和undo
事件的控件设置。
应该在此处设置的控件。
google.maps.event.addDomListener(controlUI, 'click', function() {
//something like CTRL + z (on windows) redo or undo of the user steps (while drawing a polygon)
});
在安托·于尔科维奇(AntoJurković)的帮助下,我提出了一个对我有用的解决方案。看到解决方案后,我感到有些不愉快,但事实确实如此。
我需要使用一个新变量和true
andfalse
语句。
var drawPoly = false;
google.maps.event.addDomListener(controlUI, 'click', function() {
if(drawPoly == false){
drawingManager.setDrawingMode(google.maps.drawing.OverlayType.POLYGON);
drawPoly = true;
}else{
drawingManager.setDrawingMode(null);
drawPoly = false;
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句