Nesta página, mostramos como adicionar um conjunto de dados a um mapa e aplicar estilos.
Pré-requisitos
Antes de continuar, você precisa ter um ID do mapa, um estilo de mapa e um ID do conjunto de dados.
Associar um ID do conjunto de dados a um estilo de mapa
Para estilizar os elementos de um conjunto de dados, você aplica uma função de estilo ao camada de elementos do conjunto de dados de um mapa. A camada de elementos do conjunto de dados é criada quando você associar um conjunto de dados a um estilo de mapa.
Siga estas etapas para associar seu conjunto de dados com o estilo de mapa que você está usando:
- No console do Google Cloud, acesse a página Conjuntos de dados.
- Clique no nome do conjunto de dados. A página Detalhes do conjunto de dados vai aparecer.
- Clique na guia Visualização.
- Na seção Estilos de mapa associados, clique em
ADICIONAR ESTILO DE MAPA.
- Clique nas caixas de seleção dos estilos de mapa que serão associados e clique em SALVAR.
Aplicar estilos ao conjunto de dados
Para estilizar um elemento da camada do conjunto de dados, use um fechamento de estilo que aceite uma
GMSDatasetFeature
e retorna um GMSFeatureStyle
para definir o estilo.
atributos. Em seguida, defina a propriedade de estilo como uma interdição de estilo, que contenha
lógica de estilo.
O fechamento de estilo precisa ser determinístico e retornar consistente. quando ele for aplicado. Se houver especificações de estilo de qualquer recurso alterado, o estilo deverá ser aplicado novamente.
Definir traço, preenchimento e raio do ponto
Ao estilizar um elemento na função de fábrica de estilo, é possível definir:
Cor do traço e opacidade da borda, conforme definido pelo
UIColor
. O valor padrão é transparente (UIColor.clearColor
).Largura do traço da borda em pixels da tela. O valor padrão é 2.
Cor de preenchimento e opacidade conforme definido pela classe
UIColor
. O padrão o valor é transparente (UIColor.clearColor
).Raio do ponto de um elemento de ponto entre 0 e 128 pixels.
Usar regras de estilo simples
A maneira mais simples de definir o estilo dos elementos é definir atributos de estilo constantes, como como cor, opacidade e largura da linha. Aplique opções de estilo de elementos diretamente a um camada de elementos do conjunto de dados ou use-as com o estilo personalizado.
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; };
Usar regras de estilo declarativas
É possível definir regras de estilo de forma declarativa com base em um atributo do recurso,
e aplicá-las em todo o conjunto de dados. Você pode devolver nil
do seu
função de estilo dos elementos, por exemplo, se você quiser que um subconjunto de elementos permaneça
invisível.
Por exemplo, use o método
GMSDatasetFeature.datasetAttributes
para retornar o valor de um atributo do conjunto de dados para um atributo. Depois, é possível personalizar
o estilo do elemento com base nos seus atributos.
Este exemplo determina o valor do campo "highlightColor" atributo de cada de um conjunto de dados para controlar o estilo:
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. ... };
Remover o estilo de uma camada
Para remover o estilo de uma camada, defina style
como null
:
Swift
layer.style = nil
Objective-C
layer.style = nil;
Você também pode retornar nil
da função de estilo de
elemento, por exemplo, se quiser que um subconjunto de elementos permaneça invisível.