javascript - 如何监听用户在 Google Maps v3 中绘制多边形的开始?

标签 javascript google-maps google-maps-api-3 drawing polygon

触发了一个 polygoncomplete 事件,但我正在寻找一个 polygonstart 事件。即使是 overlaystart 事件也适合我。

当用户开始绘制多边形时,我想删除 map 上任何现有的多边形。目前,我使用 polygoncomplete 事件实现了该功能。不过,它需要在一开始就发生。

我的伪代码思想是...

  1. 监听 map 上的点击事件。
  2. 单击时,检查选择了哪个绘图工具(如果可能)。
  3. 如果选择了多边形工具,则移除所有之前的多边形。

使用 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/

相关文章:

javascript - 如何将叠加图像添加到 SIMILE 展览 map View ?

javascript - 使用 GoogleAPI JS 呈现路线

java - 使用 Androids Google Maps API 查找路线

javascript - React 因 _dereq_ 挂起

javascript - 在 angularjs 中调用 http (RESTFUL WebAPI) 的正确方法

android - ActionBarSherlock + Google Maps API v2 重复 ID

google-maps-api-3 - 无法读取未定义的属性 'setBounds'

javascript - 无法根据下拉选择在 AJAX/Javascript/HTML 中创建表单

javascript - 如何为MaterialUI组件的ImageList中选中的Image添加边框?

java - PreferenceCategory 主题不适用于 PreferenceScreen