Dodawanie zbioru danych do mapy

Wybierz platformę: Android iOS JavaScript

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

Zastosuj styl do elementu zbioru danych.

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 z używanym stylem mapy:

  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. Kliknij pola wyboru stylów mapy, które 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 przezroczystość kreski obramowania zdefiniowane przez klasę UIColor. Wartość domyślna to przezroczysty (UIColor.clearColor).

  • Szerokość kreski obramowania w pikselach ekranu. Wartość domyślna to 2.

  • Kolor i przezroczystość wypełnienia zdefiniowane przez klasę UIColor. Wartość domyślna to przezroczysty (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.

Ten przykład określa 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.