Dodawanie zbioru danych do mapy

Wybierz platformę: Android iOS JavaScript

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

Zastosuj styl do elementu zbioru danych.

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:

  1. W konsoli Google Cloud otwórz stronę Zbiory danych.
  2. Kliknij nazwę zbioru danych. Pojawi się strona Szczegóły zbioru danych.
  3. Kliknij kartę Podgląd.
  4. W sekcji Powiązane style mapy kliknij DODAJ STYL MAPY.
    Sekcja Powiązane style mapy z przyciskiem plusa i napisem DODAJ STYL MAPY po prawej stronie.
  5. 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.