Data-driven styling

FeatureLayer interface

google.maps.FeatureLayer interface

An interface representing a map layer containing features of a specific FeatureType whose style can be overridden client-side, or have events attached.

featureType
Type:  FeatureType
The FeatureType associated with this FeatureLayer.
isAvailable
Type:  boolean
Whether this FeatureLayer is available, meaning whether Data-driven styling is available for this map (there is a map ID using vector tiles with this FeatureLayer enabled in the Google Cloud Console map style.) If this is false (or becomes false), styling on this FeatureLayer returns to default and events are not triggered.
BetadatasetId optional
Type:  string optional
The Dataset ID for this FeatureLayer. Only present if the featureType is FeatureType.DATASET.
style optional
The style of Features in the FeatureLayer. The style is applied when style is set. If your style function updates, you must set the style property again. A FeatureStyleFunction must return consistent results when it is applied over the map tiles, and should be optimized for performance. Asynchronous functions are not supported. If you use a FeatureStyleOptions, all features of that layer will be styled with the same FeatureStyleOptions. Set the style to null to remove the previously set style. If this FeatureLayer is not available, setting style does nothing and logs an error.
addListener
addListener(eventName, handler)
Parameters: 
  • eventNamestring Observed event.
  • handlerFunction Function to handle events.
Return Value:  MapsEventListener Resulting event listener.
Adds the given listener function to the given event name. Returns an identifier for this listener that can be used with event.removeListener.
click
function(event)
Arguments: 
This event is fired when the FeatureLayer is clicked.
mousemove
function(event)
Arguments: 
This event is fired when the user's mouse moves over the FeatureLayer.

FeatureType constants

google.maps.FeatureType constants

Identifiers for feature types.

Access by calling const {FeatureType} = await google.maps.importLibrary("maps"). See Libraries in the Maps JavaScript API.

ADMINISTRATIVE_AREA_LEVEL_1 Indicates a first-order civil entity below the country level.
ADMINISTRATIVE_AREA_LEVEL_2 Indicates a second-order civil entity below the country level.
COUNTRY Indicates the national political entity.
BetaDATASET Indicates a third-party dataset.
LOCALITY Indicates an incorporated city or town political entity.
POSTAL_CODE Indicates a postal code as used to address postal mail within the country. Includes zip codes.
SCHOOL_DISTRICT Indicates a school district.

FeatureStyleFunction typedef

google.maps.FeatureStyleFunction typedef

A function to style a FeatureLayer.

function(FeatureStyleFunctionOptions): (FeatureStyleOptions optional)

FeatureStyleFunctionOptions interface

google.maps.FeatureStyleFunctionOptions interface

Options passed to a FeatureStyleFunction.

feature
Type:  Feature
Feature passed into the FeatureStyleFunction for styling.

FeatureStyleOptions interface

google.maps.FeatureStyleOptions interface

These options specify the way the style of a Feature should be modified on a map.

fillColor optional
Type:  string optional
Hex RGB string (like "#00FF00" for green). Only applies to polygon geometries.
fillOpacity optional
Type:  number optional
The fill opacity between 0.0 and 1.0. Only applies to polygon geometries.
strokeColor optional
Type:  string optional
Hex RGB string (like "#00FF00" for green).
strokeOpacity optional
Type:  number optional
The stroke opacity between 0.0 and 1.0. Only applies to line and polygon geometries.
strokeWeight optional
Type:  number optional
The stroke width in pixels. Only applies to line and polygon geometries.

Feature interface

google.maps.Feature interface

An interface representing a vector map tile feature. These are inputs to the FeatureStyleFunction. Do not save a reference to a particular Feature object because the reference will not be stable.

featureType
Type:  FeatureType
FeatureType of this Feature.

PlaceFeature interface

google.maps.PlaceFeature interface

An interface representing a feature with a place ID which includes features of type FeatureType.ADMINISTRATIVE_AREA_LEVEL_1, FeatureType.ADMINISTRATIVE_AREA_LEVEL_2, FeatureType.COUNTRY, FeatureType.LOCALITY, FeatureType.POSTAL_CODE, and FeatureType.SCHOOL_DISTRICT.

This interface extends Feature.

placeId
Type:  string
Inherited: featureType
fetchPlace
fetchPlace()
Parameters:  None
Return Value:  Promise<Place>
Fetches a Place for this PlaceFeature. In the resulting Place object, the id and the displayName properties will be populated. The display name will be in the language the end user sees on the map. (Additional fields can be subsequently requested via Place.fetchFields() subject to normal Places API enablement and billing.) Do not call this from a FeatureStyleFunction since only synchronous FeatureStyleFunctions are supported. The promise is rejected if there was an error fetching the Place.

DatasetFeature interface

google.maps.DatasetFeature interface

An interface representing a feature from a Dataset. The featureType of a DatasetFeature will always be FeatureType.DATASET.

This interface extends Feature.

datasetAttributes
Type:  Object<string, string>
Key-value mapping of the feature's attributes.
datasetId
Type:  string
Dataset id of the dataset that this feature belongs to.
Inherited: featureType

FeatureMouseEvent interface

google.maps.FeatureMouseEvent interface

This object is returned from a mouse event on a FeatureLayer.

This interface extends MapMouseEvent.

features
Type:  Array<Feature>
The Features at this mouse event.
Inherited: domEvent, latLng
Inherited: stop