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

Выберите платформу: Android iOS JavaScript

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

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

Предпосылки

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

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

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

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

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

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

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

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

Задайте обводку, заливку и радиус точки

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

  • Цвет обводки и прозрачность границы определяются классом 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
}

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;
};

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

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

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

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

Быстрый

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.
    ...
};

Удалить стилизацию слоя

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

Быстрый

layer.style = nil

Objective-C

layer.style = nil;

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