Adicionar um conjunto de dados a um mapa

Selecione a plataforma: Android iOS JavaScript

Esta página mostra como adicionar um conjunto de dados a um mapa e aplicar um estilo.

Aplicar estilo a um elemento do conjunto de dados.

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, aplique uma função de estilo à camada de elementos do conjunto de dados de um mapa. A camada de elementos do conjunto de dados é criada quando você associa 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:

  1. No console do Google Cloud, acesse a página Conjuntos de dados.
  2. Clique no nome do conjunto de dados. A página Detalhes do conjunto de dados vai aparecer.
  3. Clique na guia Visualização.
  4. Na seção Estilos de mapa associados, clique em ADICIONAR ESTILO DE MAPA.
    Captura de tela do botão ADICIONAR ESTILO DE MAPA.
  5. 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 um GMSDatasetFeature e retorne um GMSFeatureStyle para definir os atributos de estilo. Em seguida, defina a propriedade de estilo como um fechamento de estilo, que contém a lógica de estilo.

O fechamento de estilo precisa ser determinístico e retornar resultados consistentes quando for aplicado. Se as especificações de estilo de qualquer elemento forem alteradas, o estilo precisará ser aplicado novamente.

Definir traço, preenchimento e raio do ponto

Ao definir o estilo de um elemento na função da fábrica de estilos, é possível definir:

  • Cor e opacidade do traço da borda, conforme definido pela classe UIColor. O valor padrão é transparente (UIColor.clearColor).

  • Largura do traço da borda em pixels da tela. O valor padrão é 2.

  • Cor e opacidade do preenchimento, conforme definido pela classe UIColor. O valor padrão é transparente (UIColor.clearColor).

  • Raio do ponto de um elemento pontual 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 cor, opacidade e largura da linha. Aplique opções de estilo diretamente a uma camada de elementos do conjunto de dados ou use-as com estilos personalizados.

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 elemento e aplicá-las a todo o conjunto de dados. Você pode retornar nil da função de estilo de elemento, por exemplo, se quiser que um subconjunto de elementos permaneça invisível.

Por exemplo, use o GMSDatasetFeature.datasetAttributes para retornar o valor de um atributo de conjunto de dados para um elemento. Em seguida, é possível personalizar o estilo do recurso com base nos atributos dele.

Este exemplo determina o valor do atributo "highlightColor" de cada elemento 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.