Map Management API позволяет программно управлять ресурсами облачных стилей карт через конечные точки v2alpha (экспериментальная версия) и v2beta (предварительная версия).
Краткое описание деятельности
Чтобы визуализировать специальную карту с помощью Map Management API, выполните следующие действия:
- Создайте StyleConfig. Определите внешний вид карты, используя JSON-представление цветов, видимости и настроек плотности.
- Создайте MapConfig. Создайте уникальный идентификатор карты, который будет служить контейнером для идентификационных данных и основных функций карты.
- Свяжите их с 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 – тело запроса имеет неправильный формат или содержит недопустимые значения полей.