2010-07-15 2 views
3

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

Заранее благодарен!

ответ

0

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

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

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

+0

Большое спасибо! Я дам этот выстрел завтра, и я дам вам знать! – MapWeb

+0

Нет проблем. :) Мне интересно узнать, как это происходит. – Faisal

+0

К сожалению, это не сработало :(.. Я продолжу поиск и надеюсь, что что-то найду. Спасибо, хотя! – MapWeb

1

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

google.maps.event.addDomListener(document.getElementById('map_canvas'), 'mousedown', function() { console.log("Test") });