Клуб API Карт

Использование карт на мобильных устройствах

D.Abramov8
11 марта 2015, 18:20

Добрый день!
сайт ovgrf.ru
для прокрутки на мобильном устройстве пальцем всей страницы сайта , в том числе захватом за карту использовал вот этот код (console использую дл япроверки)

var dad = document.getElementById('Map');
            ymaps.domEvent.manager
                .add(dad, 'click', function (event) {
                    map.behaviors.enable('drag');
                    console.log(event.get('type'));
                })
                .add(dad, 'mousedown', function (event) {
                    map.behaviors.disable('drag');
                    console.log(event.get('type'));
                });

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

С уважением,
Дмитрий А.

6 комментариев
Подписаться на комментарии к посту
А чем вам не подходит вариант просто отключить поведение drag?
правильно ли я понимаю, что если отключу поведение drag, то перемещать карту при увеличении масштаба не будет возможности?!
Нет, drag отвечает только за перетаскивание мышью / одним пальцем. Двумя пальцами можно будет двигать карту по-прежнему.
Как быть в случае, если пользователь заходит с десктопа?
сделать код с условием использования типа медиа?
Никак. Любой десктоп на Win8 может быть тачовым.
Я бы предложил просто оставить справа или слева свободную зону, схватив за которую можно скроллить всю страницу.
Дело в порядке событий.
> т.е. нажал кнопку мыши , а захват не произошел
Слушается mousedown, который выключает drag.