Utilizza ID mappa
Un ID mappa è un identificatore associato a uno stile o a una mappa specifici. Configura uno stile mappa e associalo a un ID mappa in Google Cloud Console. Dopodiché, quando fai riferimento a un ID mappa nel tuo codice, nell'app viene visualizzato lo stile mappa associato. Eventuali aggiornamenti di stile successivi visualizzati automaticamente nell'app, senza necessità di aggiornamenti da parte dei clienti.
Al momento della creazione, gli ID mappa sono associati a un progetto e sono limitati anche a un'unica piattaforma (Android, iOS, JavaScript) o all'API Maps Static.
Per creare o gestire gli ID mappa in Cloud Console, devi disporre del ruolo IAM Proprietario del progetto o Editor di progetto.
Autorizzazioni obbligatorie
Per creare o gestire gli ID mappa o gli stili mappa in un determinato progetto Google Cloud, devi avere il ruolo IAM Proprietario o Editor nel progetto.
Crea un ID mappa
Un ID mappa è un identificatore univoco che rappresenta una singola istanza di una mappa Google. Puoi creare ID mappa e aggiornare uno stile associato a un ID mappa in qualsiasi momento in Cloud Console.
Per creare un ID mappa:
- In Cloud Console, vai alla pagina di gestione di Maps.
- Seleziona Crea nuovo ID mappa per visualizzare il modulo Crea
nuovo ID mappa.
Nel modulo, procedi nel seguente modo:
- Specifica un nome per la mappa.
- Specifica un tipo di mappa o una piattaforma.
- Per le mappe JavaScript, scegli il tipo di mappa raster o vettoriale.
- Inserisci una descrizione della mappa.
- Seleziona Avanti per visualizzare il nuovo ID mappa.
Associare un ID mappa a uno stile mappa
Queste istruzioni presuppongono che nel progetto sia già presente almeno uno stile di mappa.
- In Cloud Console, vai alla pagina di gestione di Maps.
- In questa pagina, seleziona un ID mappa esistente dalla colonna Map name (Nome mappa).
- Alla fine di questo modulo, scegli uno stile di mappa dal menu a discesa Stili mappa associati a questo ID mappa.
- Seleziona Salva.
Aggiungi l'ID mappa alla tua app
Android
Aggiungi il tuo ID mappa tramite un elemento <fragment>
nel file di layout dell'attività, utilizzando la classe MapView
o in modo programmatico utilizzando la classe GoogleMapOptions
.
Supponiamo, ad esempio, che tu abbia creato un ID mappa archiviato come valore stringa denominato map_id
in res/values/strings.xml
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="map_id">YOUR_MAP_ID</string>
</resources>
Per le mappe aggiunte tramite un elemento <fragment>
nel file di layout dell'attività, tutti i frammenti di mappa che devono avere lo stile personalizzato devono specificare l'ID mappa nell'attributo map:mapId
:
<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
class="com.google.android.gms.maps.SupportMapFragment"
…
map:mapId="@string/map_id" />
Puoi anche utilizzare l'attributo map:mapId
della classe MapView
per specificare un ID mappa:
<com.google.android.gms.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
....
map:mapId="@string/map_id" />
Per specificare un ID mappa in modo programmatico, passalo a un'istanza MapFragment
utilizzando la classe GoogleMapOptions
:
Java
MapFragment mapFragment = MapFragment.newInstance(
new GoogleMapOptions()
.mapId(getResources().getString(R.string.map_id)));
Kotlin
val mapFragment = MapFragment.newInstance(
GoogleMapOptions()
.mapId(resources.getString(R.string.map_id))
)
In Android Studio, crea ed esegui la tua app come faresti normalmente. Gli stili personalizzati, come configurato nel primo passaggio, verranno applicati a tutte le mappe con un ID.
iOS
Per creare un'istanza di una mappa utilizzando un ID mappa, procedi nel seguente modo:
- Crea una
GMSMapID
con la stringa ID mappa di Cloud Console. - Crea un
GMSMapView
specificando l'ID mappa appena creato.
Swift
let camera = GMSCameraPosition(latitude: 47.0169, longitude: -122.336471, zoom: 12)
let mapID = GMSMapID(identifier: "<YOUR MAP ID>")
let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: camera)
self.view = mapView
Objective-C
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.0169
longitude:-122.336471
zoom:12];
GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"<YOUR MAP ID>"];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:camera];
self.view = mapView;
Se utilizzi il tuo ID mappa, puoi impostare l'ID mappa in Cloud Console in modo che abbia un nuovo stile in qualsiasi momento e questo stile verrà applicato automaticamente alla visualizzazione mappa entro 6 ore circa.
Se vuoi visualizzare subito le modifiche, puoi chiudere e riavviare l'app uscendo dall'app, forzando la chiusura dell'app dall'elenco delle app utilizzate di recente, quindi riaprindola. La mappa aggiornata sarà visibile.
JavaScript
Per creare una mappa con un ID mappa nel codice dell'applicazione:
Se stai personalizzando la mappa con codice JSON incorporato, rimuovi la proprietà
styles
dall'oggettoMapOptions
; in caso contrario, salta questo passaggio.Aggiungi un ID mappa alla proprietà utilizzando la proprietà
mapId
. Ad esempio:
map = new google.maps.Map(document.getElementById('map'), { center: {lat: -34.397, lng: 150.644}, zoom: 8, mapId: 'MAP_ID' });
Maps Static
Per aggiungere un ID mappa a una mappa nuova o esistente che utilizzi una delle nostre API di servizi web, aggiungi il parametro URL map_id
e impostalo sull'ID mappa.
Questo esempio mostra l'aggiunta di un ID mappa a una mappa utilizzando l'API Maps Static.
<img src="https://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=13&size=600x300&maptype=roadmap&markers=color:blue%7Clabel:S%7C40.702147,-74.015794&markers=color:green%7Clabel:G%7C40.711614,-74.012318&markers=color:red%7Clabel:C%7C40.718217,-73.998284&key=YOUR_API_KEY&map_id=YOUR_MAP_ID&signature=YOUR_SIGNATURE" />
Funzionalità disponibili quando si utilizzano gli ID mappa
Stile delle mappe basato su cloud: stile, personalizzazione e gestione delle mappe utilizzando la console Google Cloud.
Disponibili su tutte le piattaforme (API Android, JavaScript, iOS e Maps Static)
Mappe vettoriali: una mappa composta da riquadri basati su vettori, che vengono disegnati al momento del caricamento sul lato client utilizzando WebGL.
Disponibile su JavaScript