Перенос автоматизации Zapier или Make на новый хост геокодирования
No-code автоматизации с шагом геокодирования требуют иного подхода к миграции, чем собственный код. Вот как провести такой переход.
Mapbox Geocoding возвращает результаты в виде GeoJSON FeatureCollection, и это осознанный выбор: такой вывод легко передать напрямую в Mapbox GL или любую другую картографическую библиотеку, понимающую GeoJSON. Каждый объект содержит пару координат center, строку place_name и массив context, описывающий регион, страну и почтовый индекс, в которые он входит. Аутентификация выполняется с помощью токена доступа, обычно передаваемого как параметр запроса, и многие команды используют один и тот же токен и для тайлов веб-карты, и для вызовов геокодирования.
На такое двойное использование одного токена стоит обратить внимание до миграции, потому что оно означает, что вызов геокодирования и вызов отрисовки карты в коде приложения часто переплетены сильнее, чем кажется на первый взгляд. Аккуратно разделить их, чтобы запрос геокодирования можно было направить на новый хост, а тайлы карты остались там, где они есть, обычно и есть первое настоящее решение, которое нужно принять.
Совместимый хост My Geocode для Mapbox воспроизводит структуру FeatureCollection, включая поля center, place_name и context, поэтому код, построенный вокруг response.features[0].center, продолжает работать после замены. От ответа самого Mapbox отличаются только тексты об авторских правах, условиях и конфиденциальности. Справочник по полям находится по адресу /compatibility/mapbox/.
Несколько практических замечаний для команд, которые совершают этот переход:
X-API-Key, заголовок Authorization: Bearer, HTTP Basic auth или параметр запроса, поэтому любой способ, которым ваш текущий клиент Mapbox передаёт токен доступа, должен соответствовать одному из этих вариантовЦены избавляют от системы уровней токенов, которая на многих картографических платформах растёт вместе с объёмом использования. Здесь 2 500 запросов в день бесплатны вообще без ключа, и каждый ключ также получает собственные 2 500 бесплатных запросов в день с учётом по сети. Дальше действует предоплаченный баланс по 0,0001 € за запрос или ключ Unlimited за 50 € в месяц, и каждый эндпоинт, включая этот совместимый хост, стоит одинаково.
Поскольку Mapbox часто используют вместе с тайлами карт и статическими изображениями карт, а не только для геокодирования, стоит чётко обозначить границы: My Geocode это API для геокодирования, определения IP, часового пояса, высоты и почтового индекса, а не поставщик тайлов или базовых карт. Командам, которые сохраняют текущую отрисовку карт и переносят на новый хост только поиск адресов, следует рассчитывать на то, что какое-то время они будут использовать двух провайдеров параллельно, одного для тайлов и другого для геокодирования, и это нормальный и стабильный способ разделить работу, а не временное состояние, которое нужно поскорее пройти.