Aby używać stylu opartego na danych w przypadku granic, musisz utworzyć identyfikator mapy. Następnie musisz utworzyć nowy styl mapy, wybrać potrzebne warstwy mapy granic i powiązać styl z identyfikatorem mapy.
Tworzenie identyfikatora mapy
mapID to unikalny identyfikator, który reprezentuje pojedynczą instancję Mapy Google. W konsoli Google Cloud możesz w każdej chwili tworzyć identyfikatory map i aktualizować styl powiązany z identyfikatorem mapy.

Tworzenie nowego stylu mapy
Aby utworzyć nowy styl mapy, postępuj zgodnie z instrukcjami podanymi w artykule Zarządzanie stylami map. Po zakończeniu powiąż styl z nowo utworzonym identyfikatorem mapy.
Wybieranie warstw mapy
W konsoli Google Cloud możesz wybrać, które warstwy mapy mają być wyświetlane. Określa to, jakie rodzaje granic pojawiają się na mapie (np. miejscowości, stany itp.).
Zarządzanie warstwami mapy
W konsoli Google Cloud otwórz stronę Style mapy.
Jeśli pojawi się taka prośba, wybierz projekt.
Wybierz styl mapy.
Aby dodać lub usunąć warstwy, kliknij menu Warstwy mapy.
Kliknij Zapisz, aby zapisać zmiany i udostępnić je na mapach.
Aktualizowanie kodu inicjowania mapy
Ten krok wymaga powiązania identyfikatora mapy ze stylem z co najmniej 1 włączoną warstwą mapy. Aby sprawdzić, czy identyfikator mapy jest prawidłowo skonfigurowany w konsoli Cloud, sprawdź jego konfigurację w sekcji Zarządzanie mapami.
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];
Dodawanie warstw mapy do mapy
Aby uzyskać odwołanie do warstwy mapy, wywołaj funkcję mapView.featureLayer(of:) podczas inicjowania mapy:
Swift
let layer = mapView.featureLayer(of: .locality)
Objective-C
GMSFeatureLayer*layer = [mapView featureLayerOfFeatureType:GMSFeatureTypeLocality];
Sprawdzanie możliwości mapy
Styl oparty na danych w przypadku granic wymaga funkcji, które są włączone w konsoli Google Cloud i powiązane z identyfikatorem mapy. Identyfikatory mapy mogą ulec zmianie, dlatego możesz wywołać funkcję mapView.mapCapabilities w GMSMapView, aby sprawdzić, czy dana zdolność (np. styl oparty na danych) jest dostępna, zanim ją wywołasz.
Możesz też wykrywać zmiany w możliwościach mapy, subskrybując GMSViewDelegate. Ten przykład pokazuje, jak za pomocą protokołu sprawdzić wymagania dotyczące stylu opartego na danych.
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