Клуб API Карт

API 2.x и некоторые мобильные браузеры

Пост в архиве.

В моем Sony Ericsson LT18i на Google Chrome, поставленом из мерката, API 2.x не работает (нет поддержка жестов).

Почитал несколько открытых тем по этому поводу, везде программисты сливали после того, как доходило до серьезных доводов против определения touch-девайса по user-agent браузера.

Итак, суть вопроса: API 2.x не распознает touch-жесты в некоторых браузерах на разных touch-девайсах. Судя по ответам программистов, определение touch-устройства идет с помощью распознавания в базе user-agent'а браузера. Как показывает практика, это старый и непрактичный метод, в jQuery давно от него отказались в пользу определения возможностей браузера.

А теперь сам вопрос: можно ли как-то руками подключать функции для touch-девайсов, если я это умею делать лучше, чем API?

 

3 комментария
Алексей Yarrr!
28 января 2016, 03:59

Хм, вешайте на dom ноду нужные события и руками их стартуйте их в ymaps в нужных объектах... Думаю, в основном в самой карте...

Читайте исходники, и ищите лазейки, как можно обмануть ymaps, но учитывайте, что апи может измениться ;-)

Еще, возможно, ymaps просто не вешается на некоторые события, если браузер не похож на то, что у него есть тач. Но опять же, надо исходники смотреть.

p.s. у гугл хрома под ваш девайт точно есть touch? вполне возможно, что его в нем по каким-то причинам просто нет.

Конечно есть, ведь API 1.x работает прекрасно, гугловые карты так же работают, да и в jQuery-ивентах стандартные touch-жесты прекрасно обрабатываются.

Sergey Konstantinov
28 января 2016, 03:59
Сам браузер может не поддерживать жесты, несмотря на поддержку их на уровне железа.
Скажите нам User-Agent вашего браузера, если жесты в нем действительно поддерживаются, мы добавим его в список совместимых браузеров.