Руководство и примеры API управления картами

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

Краткий обзор операций

Для визуализации пользовательской карты с помощью API управления картами выполните следующие ключевые шаги:

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

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

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

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

Работа со 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}]}]"
}'

Список StyleConfigs

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

Работа с MapConfigs

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 : Указанный ресурс (Project, MapConfig или StyleConfig) не существует.
  • INVALID_ARGUMENT : Тело запроса имеет некорректный формат или содержит недопустимые значения полей.