Клуб API Карт

Навигация в мобильных устройствах

D.Abramov8
17 февраля 2015, 10:34
Добрый день!
Скажите, когда сайт  с картой Яндекс открываешь в мобильном устройстве...то если дисплей находится над картой , рукой двигаешь слой карты, а страница не перемещается...есть ли решения для удобного выбора , а то пользователь не знает как быстро уйти с карты к другим объектам на сайте.

С ув.,
Дмитрий А.
8 комментариев
Подписаться на комментарии к посту

В мобильной версии я делал над картой с одной из сторон div который относился к странице. И при движении пальцем по нему скролилась страница. Он визуально был чуть темнее и имел еще две стрелочки (сверху и снизу), при нажатии на них тож скролилась страница с карты и слой пропадал.

 

По этой проблеме меня тоже интересуют нормальные способы решения.

Да, спасибо! такая мысль и у меня возникла, только подумал о фотографии пальца, касающегося экрана...да , лучше стрелочки))
Всеволод Шмыров
17 февраля 2015, 19:31
Как такогого решения нет. Можно по клику кнопки карты включать/выключить поведение "drag" карты, но этот способ тоже не всем подойдет.
Скажите ...нужен такой алгоритм...?:
1)включаем слушатель действий на карте
2) если масштаб карты равен 2, то drag = false,
3) если масштаб карты else drag = true.

Или такой слушатель всегда действует, нужно только указать условие ?
Всеволод Шмыров
20 февраля 2015, 17:58
Нет. Во время выполнения действия лучше не выключать поведение, так как в любом случае будет выглядеть неаккуратно. Попробуйте лучше по умолчанию отключить поведение. А по первому клику (табу на мобильном) включать поведение. А по следующему "mousedown" на странице. отключать поведение обратно. Получается что-то типа установки фокуса.

Включение и выключение поведений:
https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/Map-docpage/#behaviors

Про события
https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IDomEventEmitter-docpage/
Не совсем точно понял, что вы предлагаете...а именно не пойму как фокус устанавливается , если я пальцем передвигаю карту?...ок лучше я заново...задача такая...по умолчанию у меня на карте масштаб 2 и свойство drag и scrollZoom выключено, что позволяет на мобильном устройстве передвигать всю страницу безпрепятственно (если drag включено, то "зависаю" на карте), далее если масштабирую в сторону увеличения, то мне нужно включить drag. чтобы перемещять увеличенную карту...если возвращаюсь ко 2-му масштабу снова выключаю....или вы мне предложили в конце более гибкий вариант?
или трудность в том что нет такого события - увеличение масштаба карты?
Я пытался сделать, что Вы советуете..вроде получилось..очень круто! я прям доволен собой, хотя при чем тут я)) посмотрите? ovgrf.ru