Dodawanie zbioru danych do mapy

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

Zastosuj styl do funkcji zbioru danych.

Wymagania wstępne

Zanim przejdziesz dalej, przygotuj identyfikator i styl mapy oraz identyfikator zbioru danych.

Powiąż identyfikator zbioru danych ze stylem mapy

Aby stylizować funkcje zbioru danych, zastosuj funkcję stylu do warstwy cech zbioru danych mapy. Warstwa cech zbioru danych jest tworzona przez powiązanie zbioru 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 przedstawiający przycisk DODAJ STYL MAPY.
  5. Kliknij pola wyboru obok stylów mapy, które chcesz powiązać, a następnie kliknij ZAPISZ.

Zastosuj style do zbioru danych

Aby określić styl funkcji warstwy zbioru danych, użyj zamknięcia stylu, który akceptuje GMSDatasetFeature i zwraca wartość GMSFeatureStyle w celu zdefiniowania atrybutów stylu. Następnie ustaw właściwość stylu na zamknięcie stylu, które zawiera logikę stylu.

Zamknięcie stylu musi być deterministyczne i dawać spójne wyniki po jego zastosowaniu. Jeśli jakaś cecha elementu ulegnie zmianie, trzeba ponownie zastosować styl.

Ustawianie linii, wypełnienia i promienia punktu

Podczas określania stylu obiektu w funkcji fabryki stylów możesz ustawić:

  • Kolor i przezroczystość konturu obramowania zgodnie z definicją w klasie UIColor. Wartość domyślna to przezroczysty (UIColor.clearColor).

  • Szerokość konturu obramowania w pikselach ekranu. Wartością domyślną jest 2.

  • Kolor i przezroczystość wypełnienia określone przez klasę UIColor. Wartość domyślna to przezroczysta (UIColor.clearColor).

  • Promień punktu obiektu punktowego z zakresu od 0 do 128 pikseli.

Używanie prostych zasad dotyczących stylu

Najprostszym sposobem stylizacji obiektów jest zdefiniowanie atrybutów stylu stałego, takich jak kolor, przezroczystość i szerokość linii. Stosuj opcje stylu cech bezpośrednio do warstwy cech zbioru danych lub używaj 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 reguł stylu deklaratywnego

Możesz ustawić reguły stylu deklaratywnie na podstawie atrybutu cechy i zastosować je w całym zbiorze danych. Możesz zwrócić właściwość nil z funkcji stylu cechy, jeśli na przykład chcesz, aby podzbiór cech pozostawał niewidoczny.

Możesz na przykład użyć metody GMSDatasetFeature.datasetAttributes, aby zwrócić wartość atrybutu zbioru danych dla cechy. Następnie możesz dostosować styl obiektu na podstawie jego atrybutów.

W tym przykładzie określono wartość atrybutu „highlightColor” każdej funkcji zbioru danych, która kontroluje 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ć wartość nil z funkcji stylu cech, na przykład jeśli chcesz, aby podzbiór cech był niewidoczny.