Agrega un conjunto de datos a un mapa

Selecciona la plataforma: Android iOS JavaScript

En esta página, se muestra cómo agregar un conjunto de datos a un mapa y aplicar diseños.

Aplicar diseño a un componente de un conjunto de datos

Requisitos previos

Antes de continuar, debes tener un ID de mapa, un diseño de mapa y un ID de conjunto de datos.

Asocia un ID de conjunto de datos a un diseño de mapa

Para aplicar diseño a los componentes de un conjunto de datos, debes aplicar una función de diseño a la capa de componentes del conjunto de datos de un mapa. La capa de componentes del conjunto de datos se crea cuando asocias un conjunto de datos a un diseño de mapa.

Para asociar tu conjunto de datos al diseño de mapa que utilizas, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Conjuntos de datos.
  2. Haz clic en el nombre del conjunto de datos. Se abrirá la página Detalles del conjunto de datos.
  3. Haz clic en la pestaña Vista previa.
  4. En la sección Diseños de mapa asociados, haz clic en AGREGAR DISEÑO DE MAPA.
    La sección Diseños de mapa asociados con un botón de signo más que dice ADD MAP STYLE a la derecha.
  5. Haz clic en las casillas de verificación correspondientes a los diseños de mapa que deseas asociar y, luego, en GUARDAR.

Aplica estilos al conjunto de datos

Para aplicar diseño a un componente de la capa del conjunto de datos, usa un cierre de diseño que acepte un objeto GMSDatasetFeature y devuelva un objeto GMSFeatureStyle para definir los atributos de diseño. Luego, establece la propiedad de diseño en un cierre de diseño, que contiene la lógica de diseño.

El cierre de diseño debe ser determinístico y mostrar resultados coherentes cuando se aplica. Si se cambia alguna especificación de diseño de cualquier componente, se debe volver a aplicar el diseño.

Establece el trazo, el relleno y el radio de los puntos

Cuando aplicas diseño a un elemento en la función de fábrica de diseño, puedes establecer lo siguiente:

  • Color y opacidad del trazo del borde, según lo define la clase UIColor El valor predeterminado es transparente (UIColor.clearColor).

  • Ancho del trazo del borde en píxeles de la pantalla. El valor predeterminado es 2.

  • Color y opacidad del relleno, según lo define la clase UIColor El valor predeterminado es transparente (UIColor.clearColor).

  • Radio del punto de un elemento de punto entre 0 y 128 píxeles.

Utiliza reglas de diseño simples

La manera más simple de aplicar diseño a un componente es definir atributos de diseño constantes, como el color, la opacidad y el ancho de línea. Aplica opciones de estilo de componente directamente a una capa de componentes del conjunto de datos, o utilízalas en conjunto con un estilo personalizado.

Swift

let options = GMSMapViewOptions()
options.mapID = GMSMapID(identifier: "YOUR_MAP_ID")
options.camera = GMSCameraPosition(latitude: 40.7, longitude: -74.0, zoom: 12)
let mapView = GMSMapView(options: options)

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

GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
options.camera = [GMSCameraPosition cameraWithLatitude:40.7 longitude:-74.0 zoom:12];
options.mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"];
GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];

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;
};

Utiliza reglas de diseño declarativas

Puedes establecer reglas de diseño de forma declarativa según un atributo del elemento y aplicarlas a todo el conjunto de datos. Puedes mostrar nil desde la función de diseño del componente, por ejemplo, si deseas que un subconjunto de componentes permanezca invisible.

Por ejemplo, usa GMSDatasetFeature.datasetAttributes para devolver el valor de un atributo de conjunto de datos para un componente. Luego, puedes personalizar el diseño del elemento según sus atributos.

En este ejemplo, se determina el valor del atributo "highlightColor" de cada elemento de un conjunto de datos para controlar el diseño:

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

Cómo quitar el diseño aplicado a una capa

Para quitar el diseño aplicado a una capa, establece style en null:

Swift

layer.style = nil

Objective-C

layer.style = nil;

También puedes mostrar nil desde tu función de diseño de componentes, por ejemplo, si quieres que un subconjunto de componentes permanezca invisible.