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

Wymagania wstępne
Zanim przejdziesz dalej, musisz mieć identyfikator mapy, styl mapy i identyfikator zbioru danych.
Powiązywanie identyfikatora zbioru danych ze stylem mapy
Aby określić styl elementów zbioru danych, zastosuj funkcję stylu do warstwy mapy 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.
- Kliknij pole wyboru obok stylu mapy, który chcesz powiązać, a następnie kliknij ZAPISZ.
Stosowanie stylów do zbioru danych
Aby określić styl elementu warstwy zbioru danych, użyj domknięcia stylu, które akceptuje
GMSDatasetFeature i zwraca GMSFeatureStyle, aby zdefiniować atrybuty stylu. Następnie ustaw właściwość stylu na domknięcie stylu, które zawiera logikę stylu.
Domknięcie stylu musi być deterministyczne i po zastosowaniu zwracać spójne wyniki. Jeśli zmienisz jakiekolwiek specyfikacje stylu dowolnego elementu, musisz ponownie zastosować styl.
Ustawianie kreski, wypełnienia i promienia punktu
Podczas określania stylu elementu w funkcji fabryki stylów możesz ustawić:
Kolor i nieprzezroczystość kreski obramowania zdefiniowane przez klasę
UIColor. 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ść zdefiniowane przez klasę
UIColor. Wartością domyślną jest przezroczystość (UIColor.clearColor).Promień punktu elementu punktowego od 0 do 128 pikseli.
Używanie prostych reguł stylu
Najprostszym sposobem określania stylu elementów jest zdefiniowanie stałych atrybutów stylu, takich jak kolor, przezroczystość i szerokość linii. Zastosuj opcje stylu elementu bezpośrednio do warstwy mapy zbioru danych lub użyj 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żywanie deklaratywnych reguł stylu
Możesz deklaratywnie ustawić reguły stylu na podstawie atrybutu elementu i zastosować je do całego zbioru danych. Możesz na przykład zwrócić nil z funkcji stylu elementu, jeśli chcesz, aby podzbiór elementów pozostał niewidoczny.
Na przykład użyj
GMSDatasetFeature.datasetAttributes, aby zwrócić wartość atrybutu zbioru danych dla elementu. 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 na przykład zwrócić nil z funkcji stylu elementu, jeśli chcesz, aby podzbiór elementów pozostał niewidoczny.