Менеджер чертежей API Карт Google: удалите двойной щелчок, чтобы закрыть многоугольник или изменить чувствительность - PullRequest
0 голосов
/ 07 июня 2018

Когда я рисую многоугольник с помощью Google Maps Api DrawingManager, я использую прослушиватель событий 'polygoncomplete' для выполнения некоторых действий:

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

Иногда, особенно с помощью Apple Pencil на iPadPro,событие возникает даже тогда, когда оно не ожидается: обычно это происходит потому, что я помещаю две вершины одну рядом с другой (но не так сильно, как ожидается, чтобы закрыть многоугольник).

Интересно, есть ли способ контролировать 'двойной щелчок по «чувствительности», чтобы вызвать событие polygoncomplete, или, если есть обходной путь, чтобы вызвать событие нестандартным способом (например, нажав кнопку).

С This вопросЯ понимаю (и тоже пытался), что preventDefault и stopPropagation не работают, если используются в событиях Maps Api.

1 Ответ

0 голосов
/ 11 июля 2018

У меня такая же проблема.Когда вы делаете двойной щелчок после первой точки, он автоматически закрывает многоугольник (только с 2 точками).В обратном вызове я делаю проверку, если точки в многоугольнике меньше 3, ничего не делать.Вы можете попробовать это с помощью следующего кода:

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

    // Some actions here...
}

Это обходной путь, но у меня работает.В моем случае я сделал эту проверку после отображения поли на карте, поэтому перед «возвратом» я удаляю поли с карты, но это работает для меня.

...