Как добавить набор данных на карту

На этой странице показано, как добавить набор данных на карту и применить стили.

Примените стиль к объекту набора данных.

Предварительные условия

Прежде чем продолжить, у вас должен быть идентификатор карты и стиль карты, а также идентификатор набора данных.

Свяжите идентификатор набора данных со стилем карты

Чтобы стилизовать объекты набора данных, вы применяете функцию стиля к векторному слою набора данных на карте. Слой объектов набора данных создается, когда вы связываете набор данных со стилем карты .

Выполните следующие шаги, чтобы связать набор данных с используемым стилем карты:

  1. В Google Cloud Console перейдите на страницу «Наборы данных» .
  2. Щелкните имя набора данных. Появится страница сведений о наборе данных .
  3. Откройте вкладку « Предварительный просмотр» .
  4. В разделе «Связанные стили карты» нажмите «ДОБАВИТЬ СТИЛЬ КАРТЫ» .
    Снимок экрана: кнопка «ДОБАВИТЬ СТИЛЬ КАРТЫ».
  5. Установите флажки напротив стилей карты, которые нужно связать, а затем нажмите СОХРАНИТЬ .

Применить стили к набору данных

Чтобы стилизовать объект слоя набора данных, используйте замыкание стиля, которое принимает GMSDatasetFeature и возвращает GMSFeatureStyle для определения атрибутов стиля. Затем задайте для свойства style замыкание стиля, которое содержит логику стиля.

Закрытие стиля должно быть детерминированным и возвращать согласованные результаты при его применении. Если какие-либо характеристики стиля какого-либо объекта изменены, стиль необходимо применить снова.

Установка обводки, заливки и радиуса точки

При стилизации объекта в функции фабрики стилей вы можете установить:

  • Цвет обводки и непрозрачность границы, определенные классом UIColor . Значение по умолчанию — прозрачное ( UIColor.clearColor ).

  • Ширина обводки границы в пикселях экрана. Значение по умолчанию — 2.

  • Цвет и непрозрачность заливки , определенные классом UIColor . Значение по умолчанию — прозрачное ( UIColor.clearColor ).

  • Радиус точки точечного объекта от 0 до 128 пикселей.

Используйте простые правила стиля

Самый простой способ стилизовать объекты — определить постоянные атрибуты стиля, такие как цвет, непрозрачность и ширина линии. Применяйте параметры стиля объектов непосредственно к векторному слою набора данных или используйте их вместе с пользовательскими стилями.

Быстрый

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
}

Цель-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;
};

Используйте правила декларативного стиля

Вы можете декларативно устанавливать правила стиля на основе атрибута объекта и применять их ко всему набору данных. Вы можете вернуть nil из функции стиля объекта, например, если вы хотите, чтобы подмножество объектов оставалось невидимым.

Например, используйте GMSDatasetFeature.datasetAttributes , чтобы вернуть значение атрибута набора данных для объекта. Затем вы можете настроить стиль объекта на основе его атрибутов.

В этом примере определяется значение атрибута «highlightColor» каждого объекта набора данных для управления стилем:

Быстрый

layer.style = { feature in
    var attributeColor: String = feature.datasetAttributes["highlightColor"]
    // Conditionalize styling based on the value of the "highlightColor" attribute.
    ...
}

Цель-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.
    ...
};

Удаление стиля со слоя

Чтобы удалить стиль со слоя, установите style значение null :

Быстрый

layer.style = nil

Цель-C

layer.style = nil;

Вы также можете вернуть nil из функции стиля объекта, например, если вы хотите, чтобы подмножество объектов оставалось невидимым.