Guida ed esempi dell'API Map Management

Puoi utilizzare l'API di gestione delle mappe per gestire a livello di programmazione le risorse di personalizzazione delle mappe basata su cloud negli endpoint v2alpha (sperimentale) e v2beta (anteprima).

Riepilogo delle operazioni

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

  1. Crea un oggetto StyleConfig: definisci l'aspetto visivo della mappa utilizzando una rappresentazione JSON delle impostazioni di colori, visibilità e densità.
  2. Crea un oggetto MapConfig: stabilisci un ID mappa univoco che funge da contenitore per l'identità e le funzionalità di alto livello della mappa.
  3. Associali a un oggetto MapContextConfig: collega l'oggetto StyleConfig (e i set di dati facoltativi) a varianti di mappe specifiche (ad esempio ROADMAP o SATELLITE) all'interno dell'oggetto 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 in modo esplicito map_type su VECTOR in MapConfig.
  • Variante della mappa: se non vengono specificate map_variants durante la creazione di un MapContextConfig, la configurazione verrà applicata per impostazione predefinita solo alla variante ROADMAP.
  • Stile di base: se un oggetto json_style_sheet è vuoto o non viene fornito in un StyleConfig, verrà utilizzata la mappa base di Google senza stile predefinita.

Utilizzo degli oggetti StyleConfig

Un oggetto StyleConfig contiene le definizioni di stile basate su JSON.

Crea un oggetto 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 gli oggetti 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 degli oggetti MapConfig

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

Crea un oggetto 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 degli oggetti MapContextConfig

Un oggetto MapContextConfig collega lo stile a un oggetto MapConfig.

Crea un oggetto 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 (progetto, MapConfig o StyleConfig) non esiste.
  • INVALID_ARGUMENT: il corpo della richiesta è malformato o contiene valori di campo non validi.