Add a dataset to a map

Select platform: Android iOS JavaScript

This page shows you how to add a dataset to a map, and apply styling.

Apply styling to a dataset feature.

Prerequisites

Before proceeding, you should have a map ID and map style, and a dataset ID.

Associate a dataset ID with a map style

To style the features of a dataset, you apply a style function to the dataset feature layer of a map. The dataset feature layer is created when you associate a dataset with a map style .

Take the following steps to associate your dataset with the map style you're using:

  1. In the Google Cloud console, go to the Datasetspage .
  2. Click the name of the dataset. The Dataset detailspage appears.
  3. Click the Previewtab.
  4. In the Associated map stylessection, click ADD MAP STYLE.
    The Associated map styles section with a plus button that says ADD MAP STYLE to the right.
  5. Click the checkbox(es) for the Map Style(s) to associate and then click SAVE.

Apply styles to the dataset

To style a feature of the dataset layer, use a styling closure that accepts a GMSDatasetFeature and returns a GMSFeatureStyle to define style attributes. Then set the style property to a styling closure, which contains styling logic.

The styling closure is required to be deterministic and return consistent results when it is applied. If any styling specifications of any feature are changed, the style must be applied again.

Set stroke, fill, and point radius

When styling a feature in the style factory function, you can set the:

  • Stroke color and opacityof the border as defined by the UIColor class. The default value is transparent ( UIColor.clearColor ).

  • Stroke widthof the border in screen pixels. The default value is 2.

  • Fill color and opacityas defined by the UIColor class. The default value is transparent ( UIColor.clearColor ).

  • Point radiusof a point feature between 0 and 128 pixels.

Use simple style rules

The simplest way to style features is to define constant style attributes such as color, opacity, and line width. Apply feature style options directly to a dataset feature layer, or use them in conjunction with custom styling.

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

Use declarative style rules

You can set style rules declaratively based on an attribute of the feature, and apply them across your entire dataset. You can return nil from your feature style function, for example if you want a subset of features to remain invisible.

For example, use the GMSDatasetFeature.datasetAttributes to return the value of a dataset attribute for a feature. You can then customize styling of the feature based on its attributes.

This example determines the value of the "highlightColor" attribute of each feature of a dataset to control the styling:

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

Remove styling from a layer

To remove styling from a layer, set the style to null :

Swift

 layer 
 . 
 style 
  
 = 
  
 nil 

Objective-C

 layer 
 . 
 style 
  
 = 
  
 nil 
 ; 

You can also return nil from your feature style function, for example if you want a subset of features to remain invisible.

Design a Mobile Site
View Site in Mobile | Classic
Share by: