Segui questi passaggi per configurare gli stili basati sui dati per i set di dati.
Ottieni una chiave API e abilita le API
Prima di utilizzare gli stili basati sui dati per i set di dati, è necessario: progetto Cloud con un account di fatturazione e sia Maps SDK for iOS e API Maps Datasets in un bucket con il controllo delle versioni attivo. Per saperne di più, consulta:
Crea un ID mappa
Un mapID è un identificatore univoco che rappresenta a una singola istanza di una mappa di Google Maps. Puoi creare ID mappa e aggiornare uno stile associati 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 in Gestire la mappa stili per creare lo stile. Al termine, associa lo stile all'ID mappa appena creato.
Aggiorna il codice di inizializzazione della mappa
Questo passaggio richiede l'associazione di un ID mappa a uno stile con uno o più elementi strati abilitati. Per verificare che l'ID mappa sia configurato correttamente in Console Cloud, rivedi come è configurata in Maps Gestione.
Swift
// A map ID using a style with one or more feature layers enabled let mapID = GMSMapID(identifier: "YOUR_MAP_ID") let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7))
Objective-C
// A map ID using a style with one or more feature layers enabled GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:[GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]];
Verifica le funzionalità della mappa
Gli stili basati sui dati per i set di dati richiedono funzionalità abilitate nel
nella console Google Cloud e associata a un ID mappa. Poiché gli ID mappa sono soggetti a
cambia, puoi chiamare
mapView.mapCapabilities
su un
GMSMapView
per verificare se una determinata funzionalità (ad esempio lo stile basato sui dati) è
disponibili prima di chiamarlo.
Puoi anche rilevare cambiamenti nelle funzionalità della mappa iscrivendoti a
GMSViewDelegate
Questo esempio mostra come utilizzare il protocollo per verificare gli stili basati sui dati
i tuoi requisiti.
Swift
class SampleViewController: UIViewController { private lazy var mapView: GMSMapView = GMSMapView(frame: .zero, mapID: GMSMapID(identifier: "YOUR_MAP_ID"), camera: GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7)) 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 { GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:[GMSMapID mapIDWithIdentifier:@"MAP_ID"] camera:[GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]]; mapView.delegete = 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