Google 地图 API 绘图管理器:删除双击以关闭多边形或更改灵敏度

Google Maps API Drawing Manager: remove double-click to close polygon or change sensitivity

当我使用 Google 地图 Api DrawingManager 绘制多边形时,我使用事件侦听器“polygoncomplete”执行一些操作:

google.maps.event.addListener(drawingManager, 'polygoncomplete', function(poly) {
    // Some actions here...
}

有时,尤其是在 iPadPro 上使用 Apple Pencil 时,事件会在意想不到的情况下引发:通常是因为我将两个顶点一个挨着另一个放置(但没有像预期的那样多以关闭多边形)。

我想知道是否有办法控制 'double-click' 敏感度以引发 polygoncomplete 事件,或者是否有解决方法以自定义方式引发事件(例如单击按钮)。

This 问题我了解到(也尝试过)如果在地图 Api 事件中使用 preventDefaultstopPropagation 则无法正常工作。

我遇到了同样的问题。当您在第一个点之后双击时,它会自动关闭多边形(仅限 2 个点)。在回调中,我进行检查,如果多边形中的点少于 3,则什么也不做。您可以使用以下代码尝试:

google.maps.event.addListener(drawingManager, 'polygoncomplete', function(poly) {
    if (poly.getPath().length < 3) {
        return;
    }

    // Some actions here...
}

这是一种解决方法,但对我有用。在我的例子中,我在向地图显示多边形后进行了检查,因此在 'return' 之前,我从地图中删除了多边形,但这对我有用。