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

Выберите платформу: 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 из функции стилизации объектов, например, если хотите, чтобы подмножество объектов оставалось невидимым.