Longpress событие в Google Maps API - PullRequest
3 голосов
/ 15 июля 2010

Я создаю веб-приложение для мобильных телефонов, где, если они нажимают определенную часть карты, что-то происходит. К сожалению, я не могу использовать window.setTimeout (..) с комбинацией mousedown / mouseup, потому что API Карт не содержит этих событий, так как это нарушило бы события перетаскивания. Есть ли другой способ сделать это? Должен быть способ, потому что веб-приложение «Карты» на мобильном телефоне открывает то же самое меню, когда вы нажимаете правую кнопку мыши на Google Maps для компьютеров - просто не знаете как! Пожалуйста, дайте мне знать !!

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 11 ноября 2010

Я не вижу причин, по которым вы не можете использовать события mousedown / mouseup DOM, а не события API Карт для обнаружения длительного нажатия. Вы даже можете использовать API Карт для присоединения слушателей, например (при условии, что вы используете в качестве элемента, содержащего карту):

 google.maps.event.addDomListener(document.getElementById('map_canvas'), 'mousedown', function () { console.log("Test") });
0 голосов
/ 15 июля 2010

Отличный вопрос.После долгих поисков я обнаружил следующую страницу о событиях касания и жестов для Android и iPhone.Надеемся, что этот список будет вам полезен:

http://backtothecode.blogspot.com/2009/10/javascript-touch-and-gesture-events.html

Чтобы уточнить, вы, вероятно, захотите обрабатывать события touchstart и touchend, возможно отслеживая положение«курсора» на каждом, чтобы определить, было ли это перетаскиванием или просто нажатием.Удачи, и я не виню вас, если вы не считаете это окончательным ответом.: P

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...