Тарифы
Миграция

От кредитной модели к опубликованной лестнице.

Меняются не столько параметры, сколько счётчик. Google считает загрузки карты по сессиям и вычитает потребление из месячного кредита; мы считаем тайлы и запросы, публично и без кредита, вокруг которого нужно моделировать.

  • Тарификация за запрос, которую можно посчитать до счёта
  • Тайлы считаются по тайлам — обычно дешевле для долгих сессий
  • Никакой матрицы SKU: десять сервисов, десять тарифов
  • Хранение данных в ЕС без enterprise-договора

Замена

Хост и заголовок авторизации. Всё ниже — карта параметров.

diff
- https://maps.googleapis.com?key=YOUR_KEY
+ https://api.apinavi.com
+ Authorization: Bearer $APINAVI_KEY

Карта параметров

Geocoding

Google MapsApiNaviNote
GET /maps/api/geocode/json?address=GET /v1/geocode?q=
GET /maps/api/geocode/json?latlng=GET /v1/revgeocode?at=
components=country:DEin=countryCode:DEUISO alpha-3 rather than alpha-2.
results[].formatted_addressitems[].address.label
results[].geometry.locationitems[].positionlat/lng keys are the same.
results[].place_iditems[].idIdentifiers are not interchangeable; re-resolve saved places once.

Routes & places

Google MapsApiNaviNote
POST /directions/v2:computeRoutesGET /v1/routes
routes[].legs[].distanceMetersroutes[].sections[].summary.length
routes[].durationroutes[].sections[].summary.durationSeconds in both, without the trailing s.
POST /places:autocompleteGET /v1/autosuggest
GET /maps/api/distancematrix/jsonPOST /v1/matrix
Map load (per session)Tile requestsMetering differs: we bill tiles, not map loads — usually cheaper for long sessions, dearer for one-glance views.

Где это не замена один в один

Загрузки карты против тайлов

Сессия с активным панорамированием и зумом здесь дороже; страница с одним взглядом на карту — дешевле. В калькуляторе оба профиля есть как пресеты.

Порядок координат

Google возвращает geometry.location объектом, и мы тоже. Но наш вывод в GeoJSON идёт долготой вперёд по спецификации — проверьте тот путь, которым пойдёте.

Идентификаторы мест

Значения place_id не переносятся. Всё, что вы сохранили, нужно один раз перевывести по координатам или адресу.

Панорамы улиц

Аналога Street View у нас нет. Если продукт на него опирается, эту часть оставьте там, где она есть.

Как это обычно делают

  1. 01

    Тень

    Неделю отправляйте копию боевого трафика обоим. Для пользователя ничего не меняется.

  2. 02

    Сравнение

    Сравните поле за полем на тех эндпоинтах, которыми реально пользуетесь. Обычно находится два-три настоящих отличия, а не двадцать.

  3. 03

    Разделение

    Переведите 5%, затем 50%, наблюдая за долей ошибок и задержкой по регионам.

  4. 04

    Переключение

    Переведите остальное, оставьте старый ключ живым на пару недель, потом отзовите.

Режим двойного прогона

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

Если решите уйти

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

Чек-лист переключения

  • Лимиты на новом ключе подняты до разделения трафика, а не после
  • Потолок расходов выставлен на первый полный месяц
  • Сохранённые идентификаторы мест перевыведены, если вы их храните
  • Декодер полилинии проверен на известном маршруте
  • Покрытие сверено по странам из длинного хвоста трафика
  • Старый ключ отозван и удалён из секретов

Сравнить с HERE