This repository has been archived by the owner on Jan 17, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Layout: maps
Vladimir Pavlikov edited this page Mar 18, 2015
·
9 revisions
Удобно, когда карту можно перемещать. Удобно это делать мышкой, не менее удобно делать это swipe'ом. Но когда карта не является единственным элементом на странице, то swipe по карте заменяет скролл страницы. Таким образом, когда карта занимает весь экран, т.е. является достаточно большой, мы теряем возможность скролла и «застреваем» в ней. Возможные варианты решения:
При таком подходе карта будет работать по сути картинкой, с которой нельзя ничего сделать, но мы получаем обратно наш скролл. Проблемы данного решения:
- Невозможно точно определить, является ли устройство действительно touch-девайсом. Например, на тестирование
Modernirz.touch
мобильный IE отдаетfalse
. - Некоторые десктопы могут иметь touch.
- Проверка, является ли устройство «мобильным» с помошью библиотек типа ua-parser-js или регулярных выражений также не точна и очень сильно зависит от обновления этих самых библиотек.
- Теоретически возможно смотреть ширину экрана, но изменение верстки mobile/tablet/desktop определяется в css и к js не имеет отношения по большому счету, не хотелось бы в js завязываться на размер экрана
- Отключение drag'а на mobile IE в Google Maps не влияет на scroll, его нет вне зависимости от этой настройки
Как минимум для планшетов / телефонов. Видится оптимальным решением поскольку при таком подходе отпадает нужда в скролле. Но в этом случае
- На карте нужна кнопка закрытия
- Нужна кнопка открытия карты, видимая только на устройствах
- Фильтры (например инфраструктура, или переключение центра карты в зависимости от объекта) должны располагаться поверх карты, либо по нажатию открывать карту с уже отфильтрованными объектами. Возможно, стоит убирать фильтры для мобильной версии вовсе, а может быть и сами карты.