Adicionar um conjunto de dados a um mapa

Nesta página, mostramos como adicionar um conjunto de dados a um mapa e aplicar estilos.

Aplique estilo a um recurso 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, 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:

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