Ta strona pokazuje, jak dodać zbiór danych do mapy i zastosować styl.
Wymagania wstępne
Zanim przejdziesz dalej, musisz mieć identyfikator mapy, styl mapy i identyfikator zbioru danych.
Powiązanie identyfikatora zbioru danych ze stylem mapy
Aby nadać styl elementom w zbiorze danych, zastosuj funkcję stylizacji do warstwy funkcji zbioru danych na mapie. Warstwę obiektów zbioru danych tworzysz, 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 potem kliknij ZAPISZ.
Stosowanie stylów do zbioru danych
Aby nadać styl funkcji warstwy zbioru danych, użyj funkcji zamykającej styl, która przyjmuje parametr GMSDatasetFeature
i zwraca parametr GMSFeatureStyle
, aby zdefiniować atrybuty stylu. Następnie ustaw właściwość style na zamknięcie stylizacji, które zawiera logikę stylizacji.
Funkcja stylizacji musi być deterministyczna i zwracać spójne wyniki po zastosowaniu. Jeśli zmienisz specyfikację stylizacji dowolnej funkcji, styl należy zastosować ponownie.
Ustawianie krzywizny, wypełnienia i promienia punktu
Podczas stylizacji funkcji w funkcji fabryki stylów możesz ustawić:
Kolor i przezroczystość kreski obramowania określonej przez klasę
UIColor
. Wartością domyślną jest przezroczystość (UIColor.clearColor
).Szerokość obrysu w pikselach ekranu. Wartością domyślną jest 2.
Kolor wypełnienia i przezroczystość określone przez klasę
UIColor
. Wartość domyślna to przezroczystość (UIColor.clearColor
).Promień punktu elementu punktowego w zakresie od 0 do 128 pikseli.
Używanie prostych reguł stylów
Najprostszym sposobem nadawania stylów elementom jest definiowanie stałych atrybutów stylów, takich jak kolor, krycie i szerokość linii. Możesz zastosować opcje stylów elementów bezpośrednio do warstwy elementów zbioru danych lub używać ich w połączeniu ze stylami niestandardowymi.
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; };
Korzystanie z deklaratywnych reguł stylów
Możesz deklaratywnie ustawiać reguły stylów na podstawie atrybutu funkcji i stosować je w całym zbiorze danych. Funkcja stylu funkcji może zwracać wartość nil
, na przykład jeśli chcesz, aby podzbiór funkcji pozostał niewidoczny.
Aby zwrócić wartość atrybutu zbioru danych dla cechy, użyj na przykład atrybutu GMSDatasetFeature.datasetAttributes
. Następnie możesz dostosować styl funkcji na podstawie jej atrybutów.
W tym przykładzie określa się wartość atrybutu „highlightColor” każdego elementu w zbiorze 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 stylizacji z warstwy
Aby usunąć stylizację z warstwy, ustaw wartość style
na null
:
Swift
layer.style = nil
Objective-C
layer.style = nil;
Możesz też zwrócić nil
z funkcji stylu funkcji, na przykład jeśli chcesz, aby podzbiór funkcji pozostał niewidoczny.