Guida ed esempi dell'API Map Management

Puoi utilizzare l'API di gestione delle mappe per gestire in modo programmatico le risorse di personalizzazione delle mappe basate su cloud sia negli endpoint v2alpha (sperimentale) sia in quelli v2beta (anteprima).

Riepilogo delle operazioni

Per visualizzare una mappa personalizzata con l'API di gestione delle mappe, segui questi passaggi chiave:

  1. Crea uno StyleConfig: definisci l'aspetto visivo della mappa utilizzando una rappresentazione JSON delle impostazioni di colori, visibilità e densità.
  2. Crea un MapConfig: stabilisci un ID mappa univoco che funga da contenitore per l'identità e le funzionalità di alto livello della mappa.
  3. Associali a un MapContextConfig: collega il tuo StyleConfig (e i set di dati facoltativi) a varianti di mappa specifiche (come ROADMAP o SATELLITE) all'interno del tuo MapConfig.

Comportamenti predefiniti

Quando utilizzi gli endpoint v2, tieni presente i seguenti comportamenti predefiniti:

  • Tipo di mappa: il tipo di rendering della mappa predefinito è RASTER. Per utilizzare le mappe basate su vettori, devi impostare esplicitamente map_type su VECTOR nel tuo MapConfig.
  • Variante mappa: se non vengono specificati map_variants durante la creazione di un MapContextConfig, la configurazione verrà applicata solo alla variante ROADMAP per impostazione predefinita.
  • Stile di base: se un json_style_sheet è vuoto o non viene fornito in un StyleConfig, verrà utilizzata la mappa base di Google predefinita senza stile.

Utilizzo di StyleConfig

Un StyleConfig contiene le definizioni degli stili basati su JSON.

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

Elenca StyleConfig

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

Utilizzo di MapConfig

Un MapConfig definisce l'identità e il tipo di rendering principale di una mappa.

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

Utilizzo di MapContextConfigs

Un MapContextConfig collega lo stile 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"]
}'

Errori

  • PERMISSION_DENIED: la richiesta non dispone di autorizzazioni IAM sufficienti o l'API non è abilitata per il progetto.
  • NOT_FOUND: la risorsa specificata (Project, MapConfig o StyleConfig) non esiste.
  • INVALID_ARGUMENT: il corpo della richiesta non è corretto o contiene valori di campo non validi.