← Вернуться на NodaLogicДмитрий Воронцов · 2026-09-21
NodaLogic · Android · картография · Яндекс Карты

Карты в NodaLogic Часть 1. Начало. Яндекс карты.

Платформа NodaLogic это многоцелевая платформа для разных предметных областей. И мобильная часть платформы это не только «с ТСД по складу бегать». Для решений, связанных с доставкой, проведением работ на выездах (например монтаж на выезде) или еще каких то целей могут понадобится карты. Карты для отображения адресов, точек, маршрутов и т.д.

На данном этапе развития платформы все, связанное с картографией я буду реализовывать только в мобильной платформе, в веб-клиенте - нет. Почему? В веб-клиенте есть например html-поле или проекция html, а у провайдеров картографии html-api всегда на первом месте и встраивается без каких-либо проблем (в отличии от mobile SDK кстати). Просто попросите любую LLM (или nGenie code) сделать интеграцию и это дело 5 минут реально. Конечно, идея иметь единый API для мобильной и веб-платформы подкупает, но есть пару моментов: во-первых, задачи чаще всего разные (где-то на сервере маршруты планируются, а клиент их должен отображать), во-вторых, для веб именно есть некоторые интеграционные нюансы, которые не хотелось бы прятать под прокси-API

Разные провайдеры – одно API

Провайдеры картографии и единый API NodaLogic

Самым простым и естественным для Android-приложения являются Google-карты. И их не будет. Все дело в том, что Google требует жесткой интеграции ключа в пакетах приложений. Нельзя использовать динамический ключ. А у меня одно приложение на всех – лимиты быстро кончатся. Поэтому логика использования картографических решений у меня простая: если оно требует ключа, то это динамический ключ, указываемый в настройках приложения. Таким образом каждый клиент выпускает под себя ключ и использует свой лимит.

При этом, так как логика работы с картами в принципе одинаковая то для разработчика просто существует слой инструментов NodaLogic с которым он работает независимо от провайдера. Когда меняется провайдер, разработчику не надо все переписывать, он просто меняет в одном месте.

Провайдеров картографии (те, кто реально выпускает сами карты) не так уж много. Я не против со временем уместить их все в NodaLogic. Из всех провайдеров я не смогу пользоваться только Google и Apple – картами. У остальных есть динамические ключи. Но начну я с двух полярных вариантов «дорого-бохато» (Яндекс) и «дешево-сердито»(OSM). Я провел опрос в ТГ канале и он показывает тенденцию – Яндекс лидирует (*для русскоязычного сообщества) Вторым за ним идет 2 Гис, но он как мне кажется всё-таки больше распространён в восточной части страны (откуда он и появился). На самом деле напихать провайдеров именно в мобильную платформу это не цель. Ведь тут зависит от задач. Планировать маршруты и выполнять геокодирование вы можете на одном инструменте, а в мобильном решении отображать это – в другом. Ведь все в итоге сводится к latitude : longitude или к точкам полилинии.

Яндекс карты

Итак, первый провайдер – Яндекс. Само API карт (единое) описано в документации https://nodalogic-txt-ru.readthedocs.io/ru/latest/maps_ru.html

А в этой статье я расскажу о возможностях и особенностях.

Примеры Яндекс карт в NodaLogic

Возможности Яндекс-карт в NodaLogic

И да, NodaLogic это всё-таки не навигатор, поэтому в примерах по картам я сделал кнопку поделиться и методы поделиться координатами/открыть координаты share_location(55.75, 37.62, "Клиент") / open_location(55.75, 37.62, "Клиент") чтобы передавать работу с координатами всё-таки более специализированному ПО, а не вести в приложении NodaLogic. Это было бы глупо.

Ключ и лицензия

Для того, чтобы Яндекс карты у вас заработали надо в приложении указать ваш ключ Яндекс-карт. Надо зайти в личный кабинет на https://yandex.ru/maps-api и выпустить свой ключ. Для того, чтобы попробовать как это все работает отлично подходит Бесплатный ключ. У него ограничение 1000 запросов в сутки. И бесплатный ключ нельзя использовать в коммерческих целях. Только для разработки. Ознакомьтесь с лицензией Яндекс.

Настройки API-ключа Яндекс MapKit в NodaLogic

VPN

Я чуть с ума не сошел, когда в отладке не мог понять почему мне не приходит колбек от роутера и геокодера. При этом сама карта отображалась и точки работали. Дело было в VPN на устройстве (правительство, кстати, ведь говорило, что VPN-вредно. Я проверил – реально вредно) . Зачем давать карту и не давать колбеки от асинхронных методов? Так даже фашисты над евреями не издевались! В общем ребята, для Яндекс-карт отключайте VPN.

Оффлайн-карты

Появился новый раздел меню где можно скачать оффлайн-карты заранее и пользоваться ими соответственно без интернета, чтобы трафик не расходовать. На ней можно управлять загрузками, загружать, удалять. На OSM пока не обращайте внимания, это в разработке, вам нужен Яндекс. Причем, что касается Яндекс-карт, то оффлайн там работает и прокладка маршрута и геокодер. Вот что значит дорого-богато. Но, кстати говоря, в бесплатном ключе оффлайн карты не работают.

Загрузка оффлайновых карт Яндекса

Комментарии

Комментарии видны всем; оставлять их могут зарегистрированные пользователи NodaLogic.

Комментариев пока нет.
Чтобы оставить комментарий, войдите или зарегистрируйтесь в NodaLogic.