Руководство по Map Management API и примеры

Map Management API позволяет программно управлять ресурсами облачных стилей карт через конечные точки v2alpha (экспериментальная версия) и v2beta (предварительная версия).

Краткое описание деятельности

Чтобы визуализировать специальную карту с помощью Map Management API, выполните следующие действия:

  1. Создайте StyleConfig. Определите внешний вид карты, используя JSON-представление цветов, видимости и настроек плотности.
  2. Создайте MapConfig. Создайте уникальный идентификатор карты, который будет служить контейнером для идентификационных данных и основных функций карты.
  3. Свяжите их с MapContextConfig. Свяжите StyleConfig (и необязательные наборы данных) с определенными вариантами карты (например, ROADMAP или SATELLITE) в MapConfig.

Поведение по умолчанию

При использовании конечных точек версии 2 учитывайте следующие режимы работы по умолчанию:

  • Тип карты. По умолчанию используется тип RASTER. Чтобы использовать векторные карты, необходимо явно задать для map_type значение VECTOR в MapConfig.
  • Вариант карты. Если при создании MapContextConfig не указаны map_variants, конфигурация будет применена только к варианту ROADMAP по умолчанию.
  • Базовый стиль. Если в StyleConfig не указан или отсутствует json_style_sheet, будет использоваться базовая карта Google без стилей.

Как работать со StyleConfigs

StyleConfig содержит определения стилей на основе JSON.

Создание StyleConfig

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/styleConfigs \
-d '{
  "display_name": "My Custom Style",
  "json_style_sheet": "[{\"featureType\":\"all\",\"stylers\":[{\"saturation\":-100}]}]"
}'

List StyleConfigs

curl -X GET \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/styleConfigs

Работа с MapConfig

MapConfig определяет идентификатор и основной тип отрисовки карты.

Создание MapConfig

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/mapConfigs \
-d '{
  "display_name": "My New Map",
  "map_type": "VECTOR"
}'

Как работать с MapContextConfigs

MapContextConfig связывает стиль с MapConfig.

Создайте MapContextConfig

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/mapConfigs/YOUR_MAP_ID/mapContextConfigs \
-d '{
  "style_config": "projects/YOUR_PROJECT_ID/styleConfigs/YOUR_STYLE_ID",
  "map_variants": ["ROADMAP", "NAVIGATION"]
}'

Ошибки

  • PERMISSION_DENIED – у запроса недостаточно разрешений IAM или в проекте не включен API.
  • NOT_FOUND – указанный ресурс (проект, MapConfig или StyleConfig) не существует.
  • INVALID_ARGUMENT – тело запроса имеет неправильный формат или содержит недопустимые значения полей.