Возможность выбрать карту для использования или альтернатива Leaflet?
Добрый день! Есть задача сделать карту на которой будет много динамических данных, разные маршруты, кластеризации и много всего, но с этим все понятно.
Сейчас появилась задача сделать возможность предоставлять пользователю выбирать какие карты использовать.
Например, чтобы можно было переключиться с гугл карт на яндекс с сохранением данных (все маркеры, маршруты ...).
Нашел такую штуку как Leaflet , она вроде должна предоставлять такую возможность.
Не совсем понимаю как это работает, для каждой карты же нужно свой токен!?
Объясните пожалуйста сможет Leaflet решить проблему, с какими проблемами можно столкнуться?
Какие есть альтернативы этому?
И еще ... может кто сталкивался с такой картой, которая предоставляла бы возможность построения маршрута для фур, например, чтобы маршрут обходил мосты, платные дороги, места где фура или что-то другое не сможет проехать.
По-нормальному это сделать невозможно по юридическим причинам - и Гугл, и Яндекс запрещают лицензионным соглашением использовать свои данные где-либо вне собственных АПИ.
Существую плагины к Leaflet, которые "решают" эту проблему, но там адский костыль. Из лифлета загружается апи того же яндекса, и карта показывается внутри карты, как матрешка. Всё это очень неудобно, костыльно, глючно, несовместимо со сторонними плагинами...
Ну то есть для простых случаев, когда нужно просто показать карту и чтобы она двигалась - ещё сгодится. Но если у вас "много динамических данных, разные маршруты, кластеризации и много всего" - забудьте. Придётся выбрать какой-то один движок и его придерживаться.
Это свободный картографический движок, вероятно, самый популярный в мире. Удобный, легковесный, имеет очень много плагинов, но как и всё свободное ПО подвержен проблеме неравномерного их качества. Плагины разные, есть хорошие, есть кривые. Но сам по себе Leaflet хороший.
Главная его проблема, как уже сказано, лежит в юридической плоскости - там нельзя использовать тайлы Гугла и Яндекса. Можно другие, существует очень много альтернатив, но они нечасто дотягивают до гуглояндекса по качеству и привычности для пользователя.
Ещё есть MapBox - коммерческое развитие Leaflet. Движок 2gis кстати тоже базируется на Leaflet.
Бесплатность, широта экосистемы, открытость.
1. И гугл, и яндекс имеют лицензионные ограничения и при определенных условиях будут платными.
2. Намного больше выбор сторонних плагинов под разные специфические нужды. Тех же кластеризаторов под Leaflet написано больше.
3. В код Leaflet-а всегда можно при необходимости влезть и что-то там подправить.
Но вообще это не значит, что нужно выбирать именно его. Гугл и яндекс тоже имеют свои плюсы, и вопрос выбора там на самом деле очень неоднозначный. Нужно смотреть по задаче, по аудитории, по нагрузкам и пр.
dom1n1k, Нашел пример... может скажите как здесь
это реализовано?
Если зайти через демо вход, выбрать мониторинг, внизу можно будет переключаться между картами. (10 шт.).
Они использую leaflet, но писали ли они для каждой карты свои компоненты?
Leaflet технически всё это может, только надо учитывать, что все эти гугляндексы разрешают пользоваться сервисами только через свои API, т.е. не через Leaflet.
Прокладка для фур позволяет https://www.openrouteservice.org, данные основаны не OpenStreetMap, поэтому если какие-то ограничения не указаны, надо идти и их проставлять.
freeExec, Много где видел, что это типа подложка под карту, то есть можно что угодно использовать.
Правильно ли я понимаю, если все же использовать это то надо будет писать отдельные компоненты для каждой карты (кластеры, маркеры), то есть, займет много времени это?