Na tej stronie dowiesz się, jak dodać zbiór danych do mapy i zastosować styl.
Wymagania wstępne
Zanim przejdziesz dalej, przygotuj identyfikator i styl mapy oraz identyfikator zbioru danych.
Powiąż identyfikator zbioru danych ze stylem mapy
Aby określić styl cech zbioru danych, zastosuj funkcję stylu do warstwy cech zbioru danych mapy. Warstwa cech zbioru danych jest tworzona, gdy powiąż zbiór danych ze stylem mapy.
Aby powiązać zbiór danych ze stylem mapy, wykonaj te czynności przy użyciu:
- 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
- Kliknij pola wyboru Style mapy, które chcesz powiązać, a następnie kliknij ZAPISZ.
Stosowanie stylów do zbioru danych
Aby określić styl cechy warstwy zbioru danych, użyj zamknięcia stylu, które akceptuje
GMSDatasetFeature
i zwraca GMSFeatureStyle
, aby określić styl
. Następnie ustaw właściwość stylu na zamknięcie stylu, które zawiera ciąg znaków
zasady stylizacji.
Zamknięcie stylu musi być deterministyczne i spójne pod względem zwrotów po zastosowaniu wyników. Czy specyfikacje stylu dowolnych cech musisz zmienić styl, musisz go zastosować ponownie.
Ustawianie kreski, wypełnienia i promienia punktu
Podczas określania stylu elementu w funkcji fabryki stylu możesz ustawić:
Kolor i przezroczystość obramowania zgodnie z definicją za pomocą atrybutu
UIColor
zajęcia. Wartością domyślną jest przezroczystość (UIColor.clearColor
).Szerokość kreski obramowania w pikselach ekranu. Wartością domyślną jest 2.
Kolor wypełnienia i przezroczystość określone przez klasę
UIColor
. Domyślny wartość jest przezroczysta (UIColor.clearColor
).Promień punktu elementu punktowego w zakresie od 0 do 128 pikseli.
Używanie prostych reguł stylów
Najprostszym sposobem stylizacji obiektów jest definiowanie stałych atrybutów stylu, takich jak jak kolor, przezroczystość i szerokość linii. Zastosuj opcje stylu cech bezpośrednio do warstwa cech zbioru danych lub używać ich w połączeniu ze stylem niestandardowym.
Swift
let mapView = GMSMapView(frame: .zero, mapID: GMSMapID(identifier: "YOUR_MAP_ID"), camera: GMSCameraPosition(latitude: 40.7, longitude: -74.0, zoom: 12)) 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
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:[GMSMapID mapIDWithIdentifier:@"MAP_ID"] camera:[GMSCameraPosition cameraWithLatitude: 40.7 longitude: -74.0 zoom:12]]; 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żywaj reguł stylu deklaratywnego
Możesz ustawić reguły stylu deklaratywnie na podstawie atrybutu obiektu,
i zastosować je w całym zbiorze danych. Możesz zwrócić nil
ze swojego
funkcji stylu cech, na przykład jeśli chcesz, aby podzbiór obiektów pozostała
niewidoczny.
Na przykład użyj wartości
GMSDatasetFeature.datasetAttributes
zwraca wartość atrybutu zbioru danych dla danej cechy. Następnie możesz dostosować
stylu elementu na podstawie jego atrybutów.
Ten przykład określa wartość atrybutu „highlightColor” każdej wartości w celu kontrolowania stylu:
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 również zwrócić nil
z funkcji stylu cech, na przykład
chcesz, aby podzbiór cech pozostała niewidoczny.