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.

Zastosowanie stylizacji do cechy zbioru danych.

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 zbioru danych, zastosuj funkcję stylizacji do warstwy elementów 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:

  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.
    Zrzut ekranu z przyciskiem DODAJ STYLU MAPY
  5. Kliknij 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 cech warstwy zbioru danych, użyj funkcji stylizacji, 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 stylizowania funkcji w funkcji fabryki stylów możesz ustawić:

  • Kolor i przezroczystość kreski obramowania określone 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 stylizacji obiektów bezpośrednio do warstwy obiektów w danych lub używać ich w połączeniu ze stylizacją niestandardową.

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 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ślamy wartość atrybutu „highlightColor” każdej cechy w danym zbiorze danych, aby kontrolować stylizację:

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.