Есть ли простой способ отключить обработчик Google Maps вместо обработчика Polygon при щелчке внутри существующего Polygon? - PullRequest
0 голосов
/ 05 февраля 2020

Работая над проектом, в котором пользователь создает полигоны в Картах Google (наборы точек широты и долготы), мы сохраняем их в базе данных, а затем отображаем их в другом месте. Я использую Google Maps Javascript API и у меня возникают проблемы с тем, что я бы назвал «вложенными» полигонами. То есть, если пользователь загружает существующие полигоны и они наносятся на карту, при щелчке внутри границ полигона я хотел бы запускать обработчик кликов Google Maps, а не обработчик кликов Polygon, чтобы создавать полигоны, которые могут перекрываться или жить полностью внутри ранее существовавших полигонов.

Я попробовал несколько различных конфигураций параметров для класса Polygon и самого класса Map, но безуспешно.

1 Ответ

0 голосов
/ 05 февраля 2020

Простое исправление заключается в добавлении той же функции, которую я использую для создания точек к каждому отображаемому многоугольнику, чтобы гарантировать, что независимо от того, где на карте пользователь нажимает, строится точка.

  for (let i = 0; i < allPolygons.length; i++) {
  let currentPolygon = new window.google.maps.Polygon({
    paths: allPolygons[i],
    strokeColor: "#FF0000",
    strokeOpacity: 0.8,
    strokeWeight: 2,
    fillColor: "#01b693",
    fillOpacity: 0.35
  });
  currentPolygon.addListener("click", e => addPoint(e));
  currentPolygon.setMap(googleMap.current);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...