Per utilizzare gli stili basati sui dati per i confini, devi creare un ID mappa. Successivamente, devi creare un nuovo stile di mappa, selezionare i livelli degli elementi dei confini necessari e associare lo stile all'ID mappa.
Crea un ID mappa
Un mapID è 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 nella console Google Cloud.

Crea un nuovo stile di mappa
Per creare un nuovo stile di mappa, segui le istruzioni riportate in Gestisci gli stili di mappa. Al termine, associa lo stile all'ID mappa appena creato.
Seleziona i livelli degli elementi
Nella console Google Cloud puoi selezionare i livelli degli elementi da visualizzare. In questo modo, vengono determinati i tipi di confini visualizzati sulla mappa (ad esempio località, stati e così via).
Gestisci i livelli degli elementi
Nella console Google Cloud, vai alla pagina Stili di mappa.
Se richiesto, seleziona un progetto.
Seleziona uno stile di mappa.
Fai clic sul menu a discesa Livelli degli elementi per aggiungere o rimuovere livelli.
Fai clic su Salva per salvare le modifiche e renderle disponibili per le tue mappe.
Aggiorna il codice di inizializzazione della mappa
Questo passaggio richiede che un ID mappa sia associato a uno stile con uno o più livelli degli elementi attivati. Per verificare che l'ID mappa sia configurato correttamente nella console Cloud, controlla come è configurato in Gestione mappa.
Swift
// A map ID using a style with one or more feature layers enabled let mapID = GMSMapID(identifier: "YOUR_MAP_ID") let camera = GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7) let options = GMSMapViewOptions() options.camera = camera options.mapID = mapID let mapView = GMSMapView(options: options)
Objective-C
// A map ID using a style with one or more feature layers enabled GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"]; GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = camera; options.mapID = mapID; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
Aggiungi livelli degli elementi a una mappa
Per ottenere un riferimento a un livello degli elementi sulla mappa, chiama mapView.featureLayer(of:) quando la mappa viene inizializzata:
Swift
let layer = mapView.featureLayer(of: .locality)
Objective-C
GMSFeatureLayer*layer = [mapView featureLayerOfFeatureType:GMSFeatureTypeLocality];
Controlla le funzionalità della mappa
Gli stili basati sui dati per i confini richiedono funzionalità attivate nella console Google Cloud e associate a un ID mappa. Poiché gli ID mappa sono soggetti a modifiche, puoi chiamare mapView.mapCapabilities su un GMSMapView per verificare se una determinata funzionalità (ad esempio lo stile basato sui dati) è disponibile prima di chiamarla.
Puoi anche rilevare le modifiche alle funzionalità della mappa iscrivendoti a GMSViewDelegate. Questo esempio mostra come utilizzare il protocollo per verificare i requisiti dello stile basato sui dati.
Swift
class SampleViewController: UIViewController { private lazy var mapView: GMSMapView = { let options = GMSMapViewOptions() options.mapID = GMSMapID(identifier: "YOUR_MAP_ID") options.camera = GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7) return GMSMapView(options: options) }() override func loadView() { self.view = mapView mapView.delegate = self } } extension SampleViewController: GMSMapViewDelegate { func mapView(_ mapView: GMSMapView, didChange mapCapabilities: GMSMapCapabilityFlags) { if (!mapCapabilities.contains(.dataDrivenStyling)) { // Data-driven styling is *not* available, add a fallback. // Existing feature layers are also unavailable. } } }
Objective-C
@interface SampleViewController: UIViewController <GMSMapViewDelegate> @end @implementation SampleViewController - (void)loadView { GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = camera; options.mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"]; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; mapView.delegate = self; self.view = mapView; } - (void)mapView:(GMSMapView *)mapView didChangeMapCapabilities:(GMSMapCapabilityFlags)mapCapabilities { if (!(mapCapabilities & GMSMapCapabilityFlagsDataDrivenStyling)) { // Data-driven styling is *not* available, add a fallback. // Existing feature layers are also unavailable. } } @end