Na tej stronie dowiesz się, jak dodać zbiór danych do mapy i zastosować styl.

Wymagania wstępne
Zanim przejdziesz dalej, musisz mieć identyfikator i styl mapy oraz identyfikator zbioru danych.
Powiązanie identyfikatora zbioru danych ze stylem mapy
Aby nadać styl elementom zbioru danych, zastosuj funkcję stylu do warstwy mapy zbioru danych na mapie. Warstwa mapy zbioru danych jest tworzona, gdy powiążesz zbiór danych ze stylem mapy.
Aby powiązać zbiór danych ze stylem mapy, którego używasz:
- W konsoli Google Cloud otwórz stronę Zbiory danych.
- Kliknij nazwę zbioru danych. Pojawi się strona Szczegóły zbioru danych.
- Kliknij kartę Podgląd.
- W sekcji Powiązane style mapy kliknij DODAJ STYL MAPY.
- Zaznacz pola wyboru obok stylów mapy, które chcesz powiązać, a następnie kliknij ZAPISZ.
Stosowanie stylów do zbioru danych
Aby nadać styl elementowi warstwy zbioru danych, użyj domknięcia stylu, które akceptuje obiekt GMSDatasetFeature i zwraca obiekt GMSFeatureStyle, aby zdefiniować atrybuty stylu. Następnie ustaw właściwość stylu na zamknięcie stylu, które zawiera logikę stylu.
Zamknięcie stylizacji musi być deterministyczne i zwracać spójne wyniki po zastosowaniu. Jeśli zmienisz specyfikacje stylu dowolnej funkcji, musisz ponownie zastosować styl.
Ustawianie obrysu, wypełnienia i promienia punktu
Podczas stylizowania elementu w funkcji fabryki stylów możesz ustawić:
Kolor i przezroczystość obramowania określone przez klasę
UIColor. Wartością domyślną jest przezroczysty (UIColor.clearColor).Szerokość obrysu obramowania w pikselach ekranu. Wartością domyślną jest 2.
Kolor wypełnienia i przezroczystość określone przez klasę
UIColor. Wartością domyślną jest przezroczysty (UIColor.clearColor).Promień punktu obiektu punktowego od 0 do 128 pikseli.
Używanie prostych reguł stylu
Najprostszym sposobem na stylizowanie obiektów jest zdefiniowanie stałych atrybutów stylu, takich jak kolor, przezroczystość i szerokość linii. Opcje stylu obiektów możesz stosować bezpośrednio do warstwy mapy zbioru danych lub używać ich w połączeniu ze stylem niestandardowym.
Swift
let options = GMSMapViewOptions() options.mapID = GMSMapID(identifier: "YOUR_MAP_ID") options.camera = GMSCameraPosition(latitude: 40.7, longitude: -74.0, zoom: 12) let mapView = GMSMapView(options: options) let layer = mapView.datasetFeatureLayer(of: "YOUR_DATASET_ID") // Define a style with green fill and stroke. // Apply the style to all features in the dataset. layer.style = { feature in let style = MutableFeatureStyle() style.fillColor = .green.withAlphaComponent(0.1) style.strokeColor = .green style.strokeWidth = 2.0 return style }
Objective-C
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:40.7 longitude:-74.0 zoom:12]; options.mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"]; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; GMSDatasetFeatureLayer *layer = [mapView datasetFeatureLayerOfDatasetID:@"YOUR_DATASET_ID"]; // Define a style with green fill and stroke. // Apply the style to all features in the dataset. layer.style = ^(GMSDatasetFeature *feature) { GMSMutableFeatureStyle *style = [GMSMutableFeatureStyle style]; style.fillColor = [[UIColor greenColor] colorWithAlphaComponent:0.1]; style.strokeColor = [UIColor greenColor]; style.strokeWidth = 2.0; return style; };
Używanie reguł stylu deklaratywnego
Możesz deklaratywnie ustawić reguły stylu na podstawie atrybutu elementu i zastosować je do całego zbioru danych. Możesz zwrócić nil z funkcji stylu elementu, na przykład jeśli chcesz, aby podzbiór elementów pozostał niewidoczny.
Możesz na przykład użyć funkcji GMSDatasetFeature.datasetAttributes, aby zwrócić wartość atrybutu zbioru danych dla cechy. Następnie możesz dostosować styl elementu na podstawie jego atrybutów.
W tym przykładzie określamy wartość atrybutu „highlightColor” każdego elementu zbioru danych, aby kontrolować styl:
Swift
layer.style = { feature in var attributeColor: String = feature.datasetAttributes["highlightColor"] // Conditionalize styling based on the value of the "highlightColor" attribute. ... }
Objective-C
// Apply the style to a single dataset feature. layer.style = ^(GMSDatasetFeature *feature) { NSString *attributeColor = feature.datasetAttributes[@"highlightColor"]; // Conditionalize styling based on the value of the "highlightColor" attribute. ... };
Usuwanie stylu z warstwy
Aby usunąć styl z warstwy, ustaw style na null:
Swift
layer.style = nil
Objective-C
layer.style = nil;
Możesz też zwrócić nil z funkcji stylu elementu, na przykład jeśli chcesz, aby podzbiór elementów pozostał niewidoczny.