На этой странице показано, как добавить набор данных на карту и применить стили.
Предварительные условия
Прежде чем продолжить, у вас должен быть идентификатор карты и стиль карты, а также идентификатор набора данных.
Свяжите идентификатор набора данных со стилем карты
Чтобы стилизовать объекты набора данных, вы применяете функцию стиля к векторному слою набора данных на карте. Слой объектов набора данных создается, когда вы связываете набор данных со стилем карты .
Выполните следующие шаги, чтобы связать набор данных с используемым стилем карты:
- В Google Cloud Console перейдите на страницу «Наборы данных» .
- Щелкните имя набора данных. Появится страница сведений о наборе данных .
- Откройте вкладку «Предварительный просмотр» .
- В разделе «Связанные стили карты» нажмите «ДОБАВИТЬ СТИЛЬ КАРТЫ» .
- Установите флажки напротив стилей карты, которые требуется связать, а затем нажмите СОХРАНИТЬ .
Применить стили к набору данных
Чтобы стилизовать объект слоя набора данных, используйте замыкание стиля, которое принимает 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
из функции стиля объекта, например, если вы хотите, чтобы подмножество объектов оставалось невидимым.