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:
- 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.
- 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.
- Asócialos a un MapContextConfig: Vincula tu
StyleConfig(y los conjuntos de datos opcionales) a variantes de mapa específicas (comoROADMAPoSATELLITE) dentro de tuMapConfig.
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ícitamentemap_typeenVECTORen tuMapConfig. - Map Variant: Si no se especifica ningún
map_variantscuando se crea unMapContextConfig, la configuración se aplicará solo a la varianteROADMAPde forma predeterminada. - Diseño base: Si un
json_style_sheetestá vacío o no se proporciona en unStyleConfig, 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.