Google Maps Multi-Touch: прикосновение к Google Maps при одновременном касании вне контейнера захватывает событие касания - PullRequest
0 голосов
/ 15 января 2019

Я создаю проект Angular, в котором я использую API-интерфейс Google Maps Javascript для создания приложения мультитач, в котором пользователи могут одновременно взаимодействовать с картой, а также с другими компонентами. (Например, один пользователь может перемещать карту, в то время как другой пользователь перемещает отдельный компонент одновременно)

Я уже в состоянии успешно выполнять мультитач действия между другими компонентами, поэтому я знаю, что это не проблема с моим кодом, но я думаю, что с Google Maps что-то не так?

Проверьте это: https://developers.google.com/maps/documentation/javascript/examples/map-simple

Вот видео, показывающее проблему: https://youtu.be/M2qjzpFCniI

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

Как только обе руки это сделают, прекратите движение по карте, и вы увидите, что теперь карта все еще будет двигаться, но теперь вы управляете ей вправо, даже если она не касается карты. По сути, если вы уже касаетесь карты, а кто-то другой касается ее, человек снаружи захватит событие касания.

Кто-нибудь знает, почему это происходит или есть ли способ это исправить?

В настоящее время я использую библиотеку HammerJS для обработки мультитач между моими собственными пользовательскими компонентами, если это поможет. Но я знаю, что у Google Maps есть свои собственные слушатели сенсорных событий.

...