Как восстановить стандартную прокрутку на arcGIS? - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть одна проблема при использовании карты с ArcGIS API:

Когда указатель мыши находится над картой, прокрутка страницы по умолчанию блокируется.Я знаю, что могу отменить масштабирование карты при прокрутке с помощью stopPropagation () для события колесика мыши, но это приводит только к отключению масштабирования.Страница по-прежнему не перемещается при прокрутке ...

Это вызывает плохой пользовательский опыт, особенно при использовании больших / полноэкранных карт внутри страницы.

Есть идеи?

1 Ответ

0 голосов
/ 21 ноября 2018

Отключение масштабирования с прокруткой в ​​представлении с использованием приведенного ниже кода (, например, демонстрация esri здесь ) не препятствует запуску события элемента DOM wheel, которое предотвращает прокрутку страницы по умолчанию;

  //this prevent the mapView to zoom on wheel but does not make the page to scroll as wanted
  view.on("mouse-wheel", function(event) {
    // disable mouse wheel scroll zooming on the view
    event.stopPropagation();
  });

Итак, вам нужно добавить прослушиватель события wheel для элемента DOM, который обрабатывает событие колеса esri, а затем выполнить event.stopImmediatePropagation(), чтобы событие колеса esri, отменяющеепрокрутка страницы по умолчанию не будет запускаться.

С API v.4.9 элемент DOM, который вы должны использовать, имеет esri-view-surface класс

  var viewSurfaceElem = document.getElementsByClassName("esri-view-surface")[0];
  viewSurfaceElem.addEventListener("wheel", function(event) { event.stopImmediatePropagation(); });

См. демонстрационную версию здесь: https://codepen.io/anon/pen/bQLwwm

...