Хабрахабр

Карты на стол: как выбрать поставщика географических карт для мобильного приложения


У вас есть отличная идея для мобильного приложения. Дизайнеры уже продумывают элементы интерфейса, вы мысленно читаете положительные отзывы на популярных сайтах, в уме прикидываете статью на Хабре. Будущее прекрасно и пестрит как минимум 4,5 звездами в Google Play и AppStore. Ах да, осталась мелочь: выбрать поставщика карт. Но когда начнете вертеть эту мелочь и так, и эдак, то станет понятно, что монетка не упала орлом или решкой, а стала на ребро.

Кажется, что все просто: приложение для России? От чего зависит выбор картографического сервиса? Направляем взгляд на Запад? Берем карты Яндекса. Или так: для Android подойдут гугловские карты, так как все равно на эти смартфоны предустанавливают (пока) продукты Google. Google maps в помощь. Да. Проще? Нет. Выгоднее и логичнее?

И хотя переменных выходит предостаточно, попробуем вывести несколько правил, на базе которых сделать выбор проще. Чтобы определиться с провайдером карт, нужно учесть много параметров.

В первую очередь смотрите на свой продукт, а не на предложения геосервисов.

О чем вы

Самый важный пункт – функциональность, которую вы собираетесь реализовывать. Что будет делать приложение? Для чего ему карта? Просто отметить адреса магазинов или указать проезд к салону красоты это одно. А если все действия пользователя завязаны на маршрутах и поиске по координатам – совсем другой разговор.

Мобильное приложение пока что на стадии разработки. Например
В питерском Институте дизайна и урбанистики захотели гулять интересно, а не кратчайшим путем, и разработали сервис Sight Safari. А вот история появления веб-сервиса наглядно поясняет, почему карты от Google и Яндекса не их метод и как бороться с недочетами карт с открытым кодом.

Не все позволяют наносить на свои карты пользовательские данные. Далеко не все сервисы поддерживают работу в офлайн-режиме и роутинг. Наконец, у кого-то карты растровые, а кто-то предлагает векторные с большим потенциалом для масштабирования.

Если не слишком мощных, то возможно вам стоит обратить внимание не на гигантов с обширными функциями (например, карты от Google могут загружаться дольше, чем сможет выдержать без нервов владелец простого телефона с небольшой памятью), а на что-то более специфичное. Сюда же можно отнести вопрос о смартфоне: на каких аппаратах будет установлено ваше приложение?

Чтоб в один непрекрасный день весь контроль над критичной частью инфраструктуры не пошел в туман вместе с изменениями в условиях использования API карт. Также стоит помнить, что если ваша функциональность строится на базе карт, то в лице провайдера лучше найти партнера, а не мелкую побочную детальку.

Где вы

«А сегодня мы попробуем завоевать мир» – говорила лабораторная мышь Брейн в сериале о себе, любимой, и не такой амбициозной мышке Пинки. Если вас одолевают те же мысли, то переходите к просмотру карт вживую: какая детализация по странам? А на каких языках названия? Если приложение установят на iPhone в Колумбии, то сможет пользователь найти нужный дом в Арауке, а в Сан-Андреасе кликнуть на маркер, вызвать окошко с информацией и прочитать описание на креольском?

Тогда стоит сравнить один и тот же пункт с точки зрения разных картографов. Вполне вероятно, что ваша география упирается не в страны, а в города или даже поселки городского типа. Возможно, у кого-то в селе Новые Балуйки прописаны улицы, а кто-то грешит серыми областями, но у вас ведь приложение для покупок в новобалуйских магазинах.

Но в июне 2018 года владельцы получили письмо от Google, где их уведомляли об изменениях на платформе и в условиях использования. Например
Польский веб-сервис по поиску лекарств в аптеках GdziePoLek работал на Google Maps, стабильно и без вопросов. Пришлось искать другого поставщика карт. Новые реалии GdziePoLek не устроили. На удивление, альтернатива не такая плохая: аптека в небольшом городке Констанцине (23 тысячи жителей на 2006 год) выглядит достойно не только у Google.


(Источник: блог стартапа)

Привычка — страшная вещь: вы можете сделать наикрутейшую маршрутизацию, красочные слои с кучей информации, а пользователям будет неудобно перестраиваться. Проверьте, какие карты предпочитают пользователи в нужных вам ареалах. И вот уже идут отказы от приложения.

Сколько у вас денег

Не все карты одинаково бесплатны. В примере о польском стартапе речь как раз о деньгах: в их случае тариф $0,5 для коммерческого использования увеличился до $7 (в 14 раз). Показать человеку, где купить валерьянки, стало обходиться дорого. Сыграла роль и новая система оплаты, pay-as-you-go: при постоплате GdziePoLek потеряли возможность планировать расходы.

Впрочем, здесь есть один щекотливый момент: если у вашего приложения много загрузок, количество пользователей растет не по дням, а по часам, а денег на оплату карт нет — что вы сделали не так в своей маркетинговой стратегии?

Сколько вы берете денег

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

А ваши пользователи смогут совершить до миллиона транзакций с картой.
Под транзакциями Here подразумевает запрос к серверу. Например
При использовании коммерческой лицензии Here maps вы заплатите $449 за месяц, если купите пакет Pro. Запрос при геокодировании засчитывается за одну транзакцию. Но случай с картами особый: если идет запрос к карте, неважно, спутник это или карта дорог, за одну транзакцию засчитывается 15 запросов к серверу. Полный перечень вариантов транзакций здесь.

У вас нативное или гибридное приложение

Карты – это функциональность, которая реализуется на стороне смартфона. Поэтому если у вас нативное приложение для одной или обеих платформ, то вам нужны специалисты по Java/Kotlin и/или Objective-C/Swift. Если же в планах выпустить на рынок гибрид, то привлекать знатоков нативных языков не потребуется.

Так что достать API карт для желаемой платформы не проблема. Большинство провайдеров поддерживают как iOS, так и Android, и стараются создавать подробные гайды для разработчиков.

Google Maps

Ты не ты, когда не прочитал документацию от Google. Примеры кода, библиотеки, SDK – найти можно все. Разработчикам предлагается воспользоваться инструментом для подбора API, на случай, если вы не уверены, какой интерфейс для проекта нужен.

Пользоваться платформой можно как условно-бесплатно (в пределах $200), так и платно. Жарким летом 2018-го разработчикам представили Google Maps Platform – мощный сервис, объединивший 18 инструментов в три категории: «Карты», «Маршруты» и «Места». Полный прайс здесь, но лето не случайно было таким жарким: есть и страница, где объясняется, как пользоваться прайсом и расшифровывать счета — видимо, далеко не всем новая система оплаты показалась прозрачной.

Например, на конференции в мае 2018-го анонсировали режим дополненной реальности: наводишь камеру на улицу и видишь карточки мест, расположенных рядом, названия собственно улицы, строишь маршрут прямо на асфальте. Несмотря на путаницу в тарифах и не всем приглянувшиеся обновления платформа постоянно развивается, встраивает в карты что-то новое. Разработчики добавили в презентацию, как говорится, for fun помощника – лисицу, которая показывает, куда идти.


(Источник: Jeff Chiu / AP / Scanpix / LETA)

Даже если вам многого не надо и все ваши действия вписываются в кредит на 200 долларов. Обратите внимание
С 11 июня для доступа к услугам Google Maps Platform разработчикам требуется действующий ключ API и платежный аккаунт на Google Cloud Platform.

Яндекс.Карты

Не в противовес Google Maps Platform, но близко к тому Яндекс показывает Yandex MapKit. Сервис позволяет интегрировать карты в мобильные приложения для Android и iOS. Карты будут работать как в онлайн-режиме, так и в офлайне.

Полный прайс здесь. Это многофункциональный и прозрачный в части оплаты инструмент: даёт возможность встроить в приложение практически любую функцию «Яндекс.Карт», от поиска адресов до прокладки маршрута с учетом строящихся домов.

Общее число запросов к геокодеру, маршрутизатору и панорамам в сутки не должно превышать 25 тысяч для бесплатного использования.
(Источник: Яндекс) Обратите внимание
Yandex MapKit можно использовать бесплатно или на коммерческой основе.

Лицензия дается на год, а ее стоимость зависит от назначения приложения, его возможностей и количества запросов к приложению в сутки. Платных версий две: стандартная и расширенная.

OpenStreetMap

Набирающий все большую популярность сервис с открытым кодом, «Википедия карт». Данные создаются и вносятся силами участников сообщества. Прогремел по СМИ как отличный вариант «crisis mapping», когда в 2010 году после землетрясения на Гаити тысячи пользователей занялись актуальной картой региона с учетом изменившегося рельефа и нанесением точек, где пострадавшие могут получить помощь.

Основная цель сообщества мапперов OSM — это не столько отрисовка карты, сколько создание базы данных на ее основе и наполнение точек информацией. Карты OpenStreetMap построены на базе картографической JS-библиотеки Leaflet. Поэтому на базе OSM можно создать множество интересных карт: велосипедные маршруты, карты курортов с достопримечательностями и так далее.

Плюс неудобство могут доставить все «прелести» сетевого проекта. Эти карты бесплатные, но есть свои тонкости технического характера (например, ограничение на количество запросов геокодирования в секунду к серверу OSM).

У него предполагается наличие пешеходной обочины или тротуара. Например
Тег highway=unspecified в OSM означает не «дорога неизвестного типа», а конкретный тип дороги по европейской классификации. А дорога-то может быть только для авто.
Но многие пользователи присваивают этот тег любой неизвестной дороге, в результате приложения с навигацией на основе OSM строят здесь пешие маршруты.

Mapbox

Этот сервис можно назвать своеобразной «оберткой» над OSM, что дает отличную детализацию картам. К тому же Mapbox в новостных сводках часто называют наиболее энергично развивающимся картографическим сервисом.

За базу взяли карты от Mapbox из-за активного развития SDK для Unity (платформа для разработки 3D-игр). Например
Компания Urbica выпустила AR-приложение: можно посмотреть 3D-версии знаковых зданий Санкт-Петербурга в дополненной реальности.

Расценки можно увидеть здесь. Стоимость использования, как и у большинства конкурентов, формируется исходя из количества запросов к карте за период времени. Если картой через ваше приложение воспользовалось больше людей и сформировано больше запросов, то придется заплатить $0,5 за каждых 500 пользователей и тысячу запросов по системе pay-as-you-go. Есть возможность использовать бесплатно, если в месяц у вас будет до 50 тысяч: активных пользователей, запросов на геокодирование, запросов направлений.

Конечно, если у вас платное приложение, то смотрите на коммерческую лицензию: упомянутый выше pay-as-you-go со всеми его расценками плюс $499 в месяц.

<...> По сути, мы делаем карты не для людей, а для роботов. CEO Mapbox Эрик Гундерсен в одном из интервью сказал: «Если делаешь технологии для машин, то плотно общайся с автомобильными инженерами. Они спроектированы с учетом возможностей автомобильных сенсоров, радаров и других систем.»

Here

Геолокационная платформа, основанная Nokia (сейчас принадлежит консорциуму, в который входят компании Audi AG, BMW Group, Daimler AG, Intel, Navinfo, NVIDIA, Pioneer, Bosh, Continental). Покрытие удовлетворительное, в том числе в России. Но карты в нашей стране, однако, не страдают подробностями: вы можете проложить маршрут, увидеть номера домов, однако POI (point of interest, достопримечательности, магазины, офисы, заправки и так далее) часто оказываются неактуальными. Поэтому если ваше приложение будет ориентировано на пешеходов или поиск организаций (особенно в небольших городах), Here в России не ваш провайдер.

Карты Here есть в авто от Audi, BMW, Daimler. А вот для водителей и логистических сервисов Here может стать хорошим решением. В блоге компании на Medium, в частности, рассказывается, как при помощи API для маршрутизации грузовиков максимально упрощать путь автомобильного парка. Да и покупали автопроизводители Here как базу для работы над системами автопилотирования, что вылилось в проект HD Live Map.

Разработчики особо обращают внимание, что ключ на 90 дней дается без отправки своих платежных данных в Here (этакий легкий кивок в сторону Google с их требованием показать вашу кредитку, даже если вы рассчитываете никогда не выходить за пределы лимита в $200). Безусловным плюсом Here можно назвать триал-период в 90 дней.

— Here позволяет делать это на freemium-тарифе. Если вы планируете сделать свое приложение платным, то — сюрприз! А вот за что придется платить, подробно можно узнать здесь. Yes, that's fine with us — написано в FAQ.

Обратите внимание
Если ваша задача — точный поиск по адресам в ЕС, изучите Here: детализация карт в Европе на высоте.

2ГИС

Отечественный картографический сервис с детализацией до заборов. Открытый код как и у OSM, и та же JS-библиотека Leaflet в основе. Подробная база данных по России и не только. Особенно радуют сведения из справочников 2ГИС по местным компаниям, поэтому платформа пригодится тем, кто ориентирует приложения на пешеходов или каталоги фирм: ваши пользователи смогут легко найти нужный офис или достопримечательность на карте. Однако тут стоит быть внимательным — проверьте заранее, актуальна ли в нужном городе справочная информация, все ли POI нанесены на карту.

Сервис условно-бесплатный — всё то же использование API только для свободно скачиваемых открытых приложений.

Возможно, это поможет российским поклонникам Apple не попасть в ситуацию как в анекдоте, кочующем по форумам картографов на Западе:
A priest, a rabbi and a monk using Apple Maps walk into a bar, maybe it’s a restaurant, or possibly a gas station. Обратите внимание
2ГИС сотрудничает с компанией Apple: в приложение Карты на iOS были встроены данные об организациях в 290 городах, фотографии заведений и отзывы на них. Или ресторан. (Священник, раввин и монах, используя карты Apple, зашли в бар. Или, возможно, это заправка.)

TomTom

TomTom — компания из Нидерландов, которая прочно обосновалась на рынке навигаторов в странах Евросоюза и Северной Америки. Благодаря покупке в 2008 году поставщика навигационных карт Tele Atlas имеет отличное покрытие.

Далее придется платить по факту использования, от $25. Этот провайдер дает 2500 транзакций в день бесплатно. Для коммерческих приложений и логистических бизнесов лицензия обойдется в сумму от $199.

И продлевает соглашения по сей день. Обратите внимание
TomTom отметилась в сотрудничестве с Apple: «яблочная компания» выбрала карты TomTom для навигационного приложения собственной разработки на iOS 6. Верно – Google.
Угадайте, чьи карты таким образом были заменены в далеком 2012 году?

Mapfit

Этот провайдер от имени его CEO обещает более точные карты, чем у тех же Mapbox и OSM. И стоимость ниже, чем у Google до введения новой системы оплаты.

Бесплатное использование возможно только в некоммерческих целях. Commmunity, Growth, Scale — три тарифных плана для разных целей, от бесплатного Community до $1499 в месяц по тарифу Scale, рассчитанному на масштабные приложения. Полная стоимость здесь. В тарифе Community допускается до 50 тысяч загрузок карты в месяц.

На момент написания этого материала ссылка вместо пошагового гайда выдавала грустную ошибку 404. Обратите внимание
На сайте Mapfit в разделе FAQ есть пункт о миграции с карт любого другого провайдера, где обещают инструкцию на GitHub. Однако в документации есть инструкция о переходе с конкретно Google maps.

LeafLet и OpenLayers

Если вы хотите независимости практически в абсолюте, то придется постараться. Вы можете развернуть собственную карту на базе OSM на своем сервере, с блэкджэком и нужными опциями — и все благодаря библиотекам Leaflet и OpenLayers.

Карты будут кастомизированы так, как вы хотите. Обе библиотеки имеют открытый исходный код на JavaScript. Но остается открытым вопрос: настолько ли велика необходимость приобретать свои серверы и ваять личную карту? Не будет зависимости от маркетинговых решений вендора типа Google.

А если покороче?

Для удобства сравнения мы свели самые важные данные по провайдерам в одну картинку. За максимальную оценку взяли «+++», за минимальную «+». Как видите, на момент написания этого материала провайдеры (в целом) идут примерно в одной линии. Конечно, всё может измениться в один момент: мапперы из OSM внезапно перестанут пополнять карты, Google сменит вид деятельности и займется выпуском детских книг. Но пока что имеем такую картину.

3. И как это работает?

Допустим, вы задумали приложение из лучших ностальгических побуждений. Было бы отлично, если в любом городе России на карте выводился список песен, где поется о городе или достопримечательностях. «Замечательный мужик / Меня вывез в Геленджик» или «В Питере пить» от одного известного исполнителя вам захотелось увековечить на карте. Точки вы планируете ставить либо в туристическом центре города, либо в каком-нибудь популярном у горожан месте. Приложение конечно же будет бесплатным – вам ничего не жалко для народа.

Число обращений к карте вряд ли будет огромным – вы понимаете, что приложение рассчитано не на массовое и не на ежедневное использование, хотя в период отпусков количество скачиваний может увеличиться. Приложение для России, западный рынок вы не рассматриваете. Из личных предпочтений вы захотели сделать приложение для Android-смартфонов.

Вам вполне подойдет точность и детализация карт от Яндекса и Google. Ваши действия? Однако вы хотите ставить балун (всплывающее окно с любым HTML-содержимым) на какое-то интересное место, о котором, возможно, не знают официальные справочники. 2ГИС тоже ваш провайдер. Значит, ваш выбор – OSM. А может, и самостоятельно дополнять карту на радость пользователям. Удачи!

Такой выбор обусловлен удобством использования и кастомизации, а также богатым функционалом. Например
В практике Umbrella IT чаще всего фигурируют карты от Google. Таким стал случай с приложением, от которого требовалась работа в офлайне и хорошая детализация карты для чекинов, но в том регионе карты от Google показывали только большие города. Однако бывают ситуации, когда заказчику требуется что-то особое. Так что мы приняли решение использовать OSM
И как чекиниться в небольшом поселке, если на карте вместо него унылый серый многоугольник?

Обратить внимание на Google. Для вашего приложения важна стабильность работы карт, детальность в небольших городах. И главное — возможность отслеживать груз. А вот работа с картами в офлайне не сильно влияет на выбор: вашим пользователям не потребуется загружать тяжелые карты на свои смартфоны, смотреть названия улиц — главное видеть точку, в которой сейчас находится груз.

Даже если у вас свободно распространяемое бесплатное приложение, а количество обращений к карте не превышает лимиты для бесплатных тарифов. Если же вы рассматриваете другого провайдера, то держите в голове следующее: для приложений по мониторингу транспорта/людей/еще чего-то любой поставщик карт предоставляет свои услуги платно.

Фото: Freepik

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть