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.

Properties

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.

Methods

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.

Events

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.

Constants

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.

FeatureStyleFunctionOptions interface

google.maps.FeatureStyleFunctionOptions interface

Options passed to a FeatureStyleFunction.

Properties

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.

Properties

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.

Properties

featureType

Type:  FeatureType

FeatureType of this Feature.

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.

Properties

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.

Properties

features

Type:  Array<Feature>

The Features at this mouse event.

Inherited: domEvent, latLng

Methods

Inherited: stop

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-02-18 UTC.