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:
- Crea un oggetto StyleConfig: definisci l'aspetto visivo della mappa utilizzando una rappresentazione JSON delle impostazioni di colori, visibilità e densità.
- Crea un oggetto MapConfig: stabilisci un ID mappa univoco che funge da contenitore per l'identità e le funzionalità di alto livello della mappa.
- Associali a un oggetto MapContextConfig: collega l'oggetto
StyleConfig(e i set di dati facoltativi) a varianti di mappe specifiche (ad esempioROADMAPoSATELLITE) all'interno dell'oggettoMapConfig.
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 esplicitomap_typesuVECTORinMapConfig. - Variante della mappa: se non vengono specificate
map_variantsdurante la creazione di unMapContextConfig, la configurazione verrà applicata per impostazione predefinita solo alla varianteROADMAP. - Stile di base: se un oggetto
json_style_sheetè vuoto o non viene fornito in unStyleConfig, 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.