触发了一个 polygoncomplete 事件,但我正在寻找一个 polygonstart 事件。即使是 overlaystart 事件也适合我。
当用户开始绘制多边形时,我想删除 map 上任何现有的多边形。目前,我使用 polygoncomplete 事件实现了该功能。不过,它需要在一开始就发生。
我的伪代码思想是...
- 监听 map 上的点击事件。
- 单击时,检查选择了哪个绘图工具(如果可能)。
- 如果选择了多边形工具,则移除所有之前的多边形。
使用 polygonstart 事件会容易得多。
这是一个类似的问题,但隐藏和显示绘图控件不是此用户界面的选项。 Google Maps Drawing Manager limit to 1 polygon
最佳答案
今天我一直在努力解决在 Google map Canvas 上监听点击的问题,我可能发现了一个使用 jQuery 的丑陋 hack/workaround:
setTimeout( function() {
var gmDomHackSelect = $('.gm-style').children().eq(0);
gmDomHackSelect.click(handleMapCanvasClick);
}, 3000);
这段代码来 self 的 map 初始化函数,所以我需要一个计时器来稍后选择元素。
这个监听器的优点是它直接在 Canvas 上监听点击,即。点击 map 控件(例如缩放)不会触发它。
关于javascript - 如何监听用户在 Google Maps v3 中绘制多边形的开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22458226/