Guía y ejemplos de la API de Map Management

Puedes usar la API de Map Management para administrar de forma programática tus recursos de diseño de mapas basado en Cloud en los extremos v2alpha (experimental) y v2beta (vista previa).

Resumen de las operaciones

Para visualizar un mapa personalizado con la API de Map Management, sigue estos pasos clave:

  1. Crea un objeto StyleConfig: Define la apariencia visual de tu mapa con una representación JSON de la configuración de colores, visibilidad y densidad.
  2. Crea un MapConfig: Establece un ID de mapa único que actúe como contenedor de la identidad y las funciones de alto nivel de tu mapa.
  3. Asócialos a un MapContextConfig: Vincula tu StyleConfig (y los conjuntos de datos opcionales) a variantes de mapa específicas (como ROADMAP o SATELLITE) dentro de tu MapConfig.

Comportamientos predeterminados

Cuando uses los extremos de la versión 2, ten en cuenta los siguientes comportamientos predeterminados:

  • Tipo de mapa: El tipo de renderización de mapa predeterminado es RASTER. Para usar mapas basados en vectores, debes establecer explícitamente map_type en VECTOR en tu MapConfig.
  • Map Variant: Si no se especifica ningún map_variants cuando se crea un MapContextConfig, la configuración se aplicará solo a la variante ROADMAP de forma predeterminada.
  • Diseño base: Si un json_style_sheet está vacío o no se proporciona en un StyleConfig, se usará el mapa base de Google sin diseño predeterminado.

Trabaja con StyleConfigs

Un StyleConfig contiene las definiciones de diseño basadas en JSON.

Crea un objeto 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}]}]"
}'

Enumera StyleConfigs

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

Trabaja con MapConfigs

Un MapConfig define la identidad y el tipo de renderización principal de un mapa.

Crea un 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"
}'

Cómo trabajar con MapContextConfigs

Un MapContextConfig vincula el diseño a un MapConfig.

Crea un 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"]
}'

Errores

  • PERMISSION_DENIED: La solicitud no tiene suficientes permisos de IAM o el proyecto no tiene habilitada la API.
  • NOT_FOUND: No existe el recurso especificado (Project, MapConfig o StyleConfig).
  • INVALID_ARGUMENT: El cuerpo de la solicitud no tiene el formato correcto o contiene valores de campo no válidos.