Inizia

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, devi avere: Un progetto cloud con un account di fatturazione e abilitati sia Maps SDK for iOS sia l'API Maps Datasets. Per saperne di più, consulta:

Crea un ID mappa

Un mapID è un identificatore univoco che rappresenta una singola istanza di una mappa di Google. Puoi creare ID mappa e aggiornare uno stile associato a un ID mappa in qualsiasi momento nella console Google Cloud.

Uno screenshot della console
Google Cloud

Crea un nuovo stile di mappa

Per creare un nuovo stile di mappa, segui le istruzioni riportate in Gestire gli stili di mappa 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ù livelli di caratteristiche abilitati. Per verificare che l'ID mappa sia configurato correttamente nella console Cloud, controlla come è configurato in Gestione di Maps.

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 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 è disponibile una determinata funzionalità (ad esempio gli stili basati sui dati) prima di chiamarla.

Puoi anche rilevare cambiamenti nelle funzionalità della mappa iscrivendoti a GMSViewDelegate. Questo esempio mostra come utilizzare il protocollo per verificare i requisiti di stile basato sui dati.

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

Passaggi successivi