Stay organized with collections Save and categorize content based on your preferences.
Data classgoogle.maps.Data
class
A layer for displaying geospatial data. Points, line-strings and polygons can be displayed.
Every Map
has a Data
object by default, so most of the time there is no need to construct one. For example:
var myMap = new google.maps.Map(...);
myMap.data.addGeoJson(...);
myMap.data.setStyle(...);
The
Data
object is a collection of
Features
.
This class extends MVCObject
.
Access by calling const {Data} = await google.maps.importLibrary("maps")
.
See Libraries in the Maps JavaScript API.
Data
Data([options])
options
: Data.DataOptions optional
Creates an empty collection, with the given DataOptions
.
add
add([feature])
feature
: Data.Feature|Data.FeatureOptions optional
Data.Feature
Adds a feature to the collection, and returns the added feature.
If the feature has an ID, it will replace any existing feature in the collection with the same ID. If no feature is given, a new feature will be created with null geometry and no properties. If FeatureOptions
are given, a new feature will be created with the specified properties.
Note that the IDs 1234
and '1234'
are equivalent. Adding a feature with ID 1234
will replace a feature with ID '1234'
, and vice versa.
addGeoJson
addGeoJson(geoJson[, options])
geoJson
: Object
options
: Data.GeoJsonOptions optional
Array<Data.Feature>
Adds GeoJSON features to the collection. Give this method a parsed JSON. The imported features are returned. Throws an exception if the GeoJSON could not be imported.
contains
contains(feature)
feature
: Data.Feature
Return Value: boolean
Checks whether the given feature is in the collection.
forEach
forEach(callback)
callback
: function(Data.Feature): void
Return Value: None
Repeatedly invokes the given function, passing a feature in the collection to the function on each invocation. The order of iteration through the features is undefined.
getControlPosition
getControlPosition()
Parameters: None
Return Value:ControlPosition
Returns the position of the drawing controls on the map.
getControls
getControls()
Parameters: None
Return Value:Array<string>
Returns which drawing modes are available for the user to select, in the order they are displayed. This does not include the null
drawing mode, which is added by default. Possible drawing modes are "Point"
, "LineString"
or "Polygon"
.
getDrawingMode
getDrawingMode()
Parameters: None
Return Value: string|null
Returns the current drawing mode of the given Data layer. A drawing mode of null
means that the user can interact with the map as normal, and clicks do not draw anything. Possible drawing modes are null
, "Point"
, "LineString"
or "Polygon"
.
getFeatureById
getFeatureById(id)
id
: number|string
Data.Feature|undefined
Returns the feature with the given ID, if it exists in the collection. Otherwise returns
undefined
.
Note that the IDs 1234
and '1234'
are equivalent. Either can be used to look up the same feature.
getMap
getMap()
Parameters: None
Return Value:Map
Returns the map on which the features are displayed.
getStyle
getStyle()
Parameters: None
Return Value:Data.StylingFunction|Data.StyleOptions
Gets the style for all features in the collection.
loadGeoJson
loadGeoJson(url[, options, callback])
url
: string
options
: Data.GeoJsonOptions optional
callback
: function(Array<Data.Feature>): void optional
Return Value: None
NOTE: The GeoJSON is fetched using XHR, and may not work cross-domain. If you have issues, we recommend you fetch the GeoJSON using your choice of AJAX library, and then call addGeoJson()
.
overrideStyle
overrideStyle(feature, style)
feature
: Data.Feature
style
: Data.StyleOptions
Return Value: None
Changes the style of a feature. These changes are applied on top of the style specified by setStyle()
. Style properties set to null
revert to the value specified via setStyle()
.
remove
remove(feature)
feature
: Data.Feature
Return Value: None
Removes a feature from the collection.
revertStyle
revertStyle([feature])
feature
: Data.Feature optional
Return Value: None
Removes the effect of previous
overrideStyle()
calls. The style of the given feature reverts to the style specified by
setStyle()
.
If no feature is given, all features have their style reverted.
setControlPosition
setControlPosition(controlPosition)
controlPosition
: ControlPosition
Return Value: None
Sets the position of the drawing controls on the map.
setControls
setControls(controls)
controls
: Array<string>
Return Value: None
Sets which drawing modes are available for the user to select, in the order they are displayed. This should not include the null
drawing mode, which is added by default. If null
, drawing controls are disabled and not displayed. Possible drawing modes are "Point"
, "LineString"
or "Polygon"
.
setDrawingMode
setDrawingMode(drawingMode)
drawingMode
: string optional
Return Value: None
Sets the current drawing mode of the given Data layer. A drawing mode of null
means that the user can interact with the map as normal, and clicks do not draw anything. Possible drawing modes are null
, "Point"
, "LineString"
or "Polygon"
.
setMap
setMap(map)
map
: Map
Return Value: None
Renders the features on the specified map. If map is set to null
, the features will be removed from the map.
setStyle
setStyle(style)
Return Value: None
Sets the style for all features in the collection. Styles specified on a per-feature basis via
overrideStyle()
continue to apply.
Pass either an object with the desired style options, or a function that computes the style for each feature. The function will be called every time a feature's properties are updated.
toGeoJson
toGeoJson(callback)
callback
: function(Object): void
Return Value: None
Exports the features in the collection to a GeoJSON object.
Inherited:addListener
, bindTo
, get
, notify
, set
, setValues
, unbind
, unbindAll
Data.DataOptions interface
google.maps.Data.DataOptions
interface
DataOptions object used to define the properties that a developer can set on a Data
object.
map
Type: Map
Map on which to display the features in the collection.
controlPosition optional
Type: ControlPosition optional
Default: ControlPosition.TOP_LEFT
The position of the drawing controls on the map.
controls optional
Type: Array<string> optional
Default: null
Describes which drawing modes are available for the user to select, in the order they are displayed. This should not include the null
drawing mode, which is added by default. If null
, drawing controls are disabled and not displayed. Possible drawing modes are "Point"
, "LineString"
or "Polygon"
.
drawingMode optional
Type: string optional
Default: null
The current drawing mode of the given Data layer. A drawing mode of null
means that the user can interact with the map as normal, and clicks do not draw anything. Possible drawing modes are null
, "Point"
, "LineString"
or "Polygon"
.
featureFactory optional
Type: function(Data.Geometry): Data.Feature optional
When drawing is enabled and a user draws a Geometry (a Point, Line String or Polygon), this function is called with that Geometry and should return a Feature that is to be added to the Data layer. If a featureFactory is not supplied, a Feature with no id and no properties will be created from that Geometry instead. Defaults to null
.
style optional
Type: Data.StylingFunction|Data.StyleOptions optional
Style for all features in the collection. For more details, see the
setStyle()
method above.
Data.GeoJsonOptions interfacegoogle.maps.Data.GeoJsonOptions
interface
Optional parameters for importing GeoJSON.
PropertiesidPropertyName optional
Type: string optional
The name of the Feature property to use as the feature ID. If not specified, the GeoJSON Feature id will be used.
Data.StyleOptions interfacegoogle.maps.Data.StyleOptions
interface
These options specify the way a Feature should appear when displayed on a map.
Propertiesanimation optional
Type: Animation optional
The animation to play when marker is added to a map. Only applies to point geometries.
clickable optional
Type: boolean optional
Default: true
If true
, the marker receives mouse and touch events.
cursor optional
Type: string optional
Mouse cursor to show on hover. Only applies to point geometries.
draggable optional
Type: boolean optional
Default: false
If true
, the object can be dragged across the map and the underlying feature will have its geometry updated.
editable optional
Type: boolean optional
Default: false
If true
, the object can be edited by dragging control points and the underlying feature will have its geometry updated. Only applies to LineString and Polygon geometries.
fillColor optional
Type: string optional
The fill color. All CSS3 colors are supported except for extended named colors. Only applies to polygon geometries.
fillOpacity optional
Type: number optional
The fill opacity between 0.0 and 1.0. Only applies to polygon geometries.
icon optional
Type: string|Icon|Symbol optional
Icon for the foreground. If a string is provided, it is treated as though it were an Icon
with the string as url
. Only applies to point geometries.
icons optional
Type: Array<IconSequence> optional
The icons to be rendered along a polyline. Only applies to line geometries.
label optional
Type: string|MarkerLabel optional
Adds a label to the marker. The label can either be a string, or a MarkerLabel
object. Only applies to point geometries.
opacity optional
Type: number optional
The marker's opacity between 0.0 and 1.0. Only applies to point geometries.
shape optional
Type: MarkerShape optional
Defines the image map used for hit detection. Only applies to point geometries.
strokeColor optional
Type: string optional
The stroke color. All CSS3 colors are supported except for extended named colors. Only applies to line and polygon geometries.
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.
title optional
Type: string optional
Rollover text. Only applies to point geometries.
visible optional
Type: boolean optional
Default: true
Whether the feature is visible.
zIndex optional
Type: number optional
All features are displayed on the map in order of their zIndex, with higher values displaying in front of features with lower values. Markers are always displayed in front of line-strings and polygons.
Data.StylingFunction typedefgoogle.maps.Data.StylingFunction
typedef
A function that computes the appearance of a feature.
The Data.setStyle()
method can accept a styling function. Use this when features should appear differently depending on their properties. You can find more information about styling features in the developer's guide.
function(Data.Feature): Data.StyleOptions
google.maps.Data.Feature
class
A feature has a geometry, an id, and a set of properties.
Access by calling const {Data} = await google.maps.importLibrary("maps")
.
See Libraries in the Maps JavaScript API.
forEachProperty
forEachProperty(callback)
callback
: function(*, string): void
Return Value: None
Repeatedly invokes the given function, passing a property value and name on each invocation. The order of iteration through the properties is undefined.
getGeometry
getGeometry()
Parameters: None
Return Value:Data.Geometry
Returns the feature's geometry.
getId
getId()
Parameters: None
Return Value: number|string|undefined
Returns the feature ID.
getProperty
getProperty(name)
name
: string
Return Value: *
Returns the value of the requested property, or undefined
if the property does not exist.
removeProperty
removeProperty(name)
name
: string
Return Value: None
Removes the property with the given name.
setGeometry
setGeometry(newGeometry)
newGeometry
: Data.Geometry|LatLng|LatLngLiteral
Return Value: None
Sets the feature's geometry.
setProperty
setProperty(name, newValue)
name
: string
newValue
: *
Return Value: None
Sets the value of the specified property. If newValue
is undefined
this is equivalent to calling removeProperty
.
toGeoJson
toGeoJson(callback)
callback
: function(Object): void
Return Value: None
Exports the feature to a GeoJSON object.
Data.FeatureOptions interfacegoogle.maps.Data.FeatureOptions
interface
Optional parameters for creating Data.Feature
objects.
geometry optional
Type: Data.Geometry|LatLng|LatLngLiteral optional
The feature geometry. If none is specified when a feature is constructed, the feature's geometry will be null
. If a LatLng
object or LatLngLiteral
is given, this will be converted to a Data.Point
geometry.
id optional
Type: number|string optional
Feature ID is optional. If provided, it can be used to look up the feature in a Data
object using the getFeatureById()
method. Note that a feature's ID cannot be subsequently changed.
properties optional
Type: Object optional
The feature properties. This is an arbitrary mapping of property names to values.
Data.Geometry interfacegoogle.maps.Data.Geometry
interface
A superclass for the various geometry objects.
MethodsforEachLatLng
forEachLatLng(callback)
callback
: function(LatLng): void
Return Value: None
Repeatedly invokes the given function, passing a point from the geometry to the function on each invocation.
getType
getType()
Parameters: None
Return Value: string
Returns the type of the geometry object. Possibilities are "Point"
, "MultiPoint"
, "LineString"
, "MultiLineString"
, "LinearRing"
, "Polygon"
, "MultiPolygon"
, or "GeometryCollection"
.
google.maps.Data.Point
class
A Point geometry contains a single LatLng
.
This class implements Data.Geometry
.
Access by calling const {Data} = await google.maps.importLibrary("maps")
.
See Libraries in the Maps JavaScript API.
Data.Point
Data.Point(latLng)
latLng
: LatLng|LatLngLiteral
Constructs a Data.Point
from the given LatLng
or LatLngLiteral
.
forEachLatLng
forEachLatLng(callback)
callback
: function(LatLng): void
Return Value: None
get
get()
Parameters: None
Return Value:LatLng
Returns the contained LatLng
.
getType
getType()
Parameters: None
Return Value: string
Returns the string "Point"
.
google.maps.Data.MultiPoint
class
A MultiPoint geometry contains a number of LatLng
s.
This class implements Data.Geometry
.
Access by calling const {Data} = await google.maps.importLibrary("maps")
.
See Libraries in the Maps JavaScript API.
forEachLatLng
forEachLatLng(callback)
callback
: function(LatLng): void
Return Value: None
getArray
getArray()
Parameters: None
Return Value:Array<LatLng>
Returns an array of the contained LatLng
s. A new array is returned each time getArray()
is called.
getAt
getAt(n)
n
: number
LatLng
Returns the n
-th contained LatLng
.
getLength
getLength()
Parameters: None
Return Value: number
Returns the number of contained LatLng
s.
getType
getType()
Parameters: None
Return Value: string
Returns the string "MultiPoint"
.
google.maps.Data.LineString
class
A LineString geometry contains a number of LatLng
s.
This class implements Data.Geometry
.
Access by calling const {Data} = await google.maps.importLibrary("maps")
.
See Libraries in the Maps JavaScript API.
forEachLatLng
forEachLatLng(callback)
callback
: function(LatLng): void
Return Value: None
getArray
getArray()
Parameters: None
Return Value:Array<LatLng>
Returns an array of the contained LatLngs
. A new array is returned each time getArray()
is called.
getAt
getAt(n)
n
: number
LatLng
Returns the n
-th contained LatLng
.
getLength
getLength()
Parameters: None
Return Value: number
Returns the number of contained LatLng
s.
getType
getType()
Parameters: None
Return Value: string
Returns the string "LineString"
.
google.maps.Data.MultiLineString
class
A MultiLineString geometry contains a number of LineString
s.
This class implements Data.Geometry
.
Access by calling const {Data} = await google.maps.importLibrary("maps")
.
See Libraries in the Maps JavaScript API.
forEachLatLng
forEachLatLng(callback)
callback
: function(LatLng): void
Return Value: None
getArray
getArray()
Parameters: None
Return Value:Array<Data.LineString>
Returns an array of the contained Data.LineString
s. A new array is returned each time getArray()
is called.
getAt
getAt(n)
n
: number
Data.LineString
Returns the n
-th contained Data.LineString
.
getLength
getLength()
Parameters: None
Return Value: number
Returns the number of contained Data.LineString
s.
getType
getType()
Parameters: None
Return Value: string
Returns the string "MultiLineString"
.
google.maps.Data.LinearRing
class
A LinearRing geometry contains a number of LatLng
s, representing a closed LineString. There is no need to make the first LatLng
equal to the last LatLng
. The LinearRing is closed implicitly.
This class implements Data.Geometry
.
Access by calling const {Data} = await google.maps.importLibrary("maps")
.
See Libraries in the Maps JavaScript API.
forEachLatLng
forEachLatLng(callback)
callback
: function(LatLng): void
Return Value: None
getArray
getArray()
Parameters: None
Return Value:Array<LatLng>
Returns an array of the contained LatLng
s. A new array is returned each time getArray()
is called.
getAt
getAt(n)
n
: number
LatLng
Returns the n
-th contained LatLng
.
getLength
getLength()
Parameters: None
Return Value: number
Returns the number of contained LatLng
s.
getType
getType()
Parameters: None
Return Value: string
Returns the string "LinearRing"
.
google.maps.Data.Polygon
class
A Polygon geometry contains a number of Data.LinearRing
s. The first linear-ring must be the polygon exterior boundary and subsequent linear-rings must be interior boundaries, also known as holes. See the sample polygon with a hole.
This class implements Data.Geometry
.
Access by calling const {Data} = await google.maps.importLibrary("maps")
.
See Libraries in the Maps JavaScript API.
forEachLatLng
forEachLatLng(callback)
callback
: function(LatLng): void
Return Value: None
getArray
getArray()
Parameters: None
Return Value:Array<Data.LinearRing>
Returns an array of the contained Data.LinearRing
s. A new array is returned each time getArray()
is called.
getAt
getAt(n)
n
: number
Data.LinearRing
Returns the n
-th contained Data.LinearRing
.
getLength
getLength()
Parameters: None
Return Value: number
Returns the number of contained Data.LinearRing
s.
getType
getType()
Parameters: None
Return Value: string
Returns the string "Polygon"
.
google.maps.Data.MultiPolygon
class
A MultiPolygon geometry contains a number of Data.Polygon
s.
This class implements Data.Geometry
.
Access by calling const {Data} = await google.maps.importLibrary("maps")
.
See Libraries in the Maps JavaScript API.
forEachLatLng
forEachLatLng(callback)
callback
: function(LatLng): void
Return Value: None
getArray
getArray()
Parameters: None
Return Value:Array<Data.Polygon>
Returns an array of the contained Data.Polygon
s. A new array is returned each time getArray()
is called.
getAt
getAt(n)
n
: number
Data.Polygon
Returns the n
-th contained Data.Polygon
.
getLength
getLength()
Parameters: None
Return Value: number
Returns the number of contained Data.Polygon
s.
getType
getType()
Parameters: None
Return Value: string
Returns the string "MultiPolygon"
.
google.maps.Data.GeometryCollection
class
A GeometryCollection contains a number of geometry objects. Any LatLng
or LatLngLiteral
objects are automatically converted to Data.Point
geometry objects.
This class implements Data.Geometry
.
Access by calling const {Data} = await google.maps.importLibrary("maps")
.
See Libraries in the Maps JavaScript API.
forEachLatLng
forEachLatLng(callback)
callback
: function(LatLng): void
Return Value: None
getArray
getArray()
Parameters: None
Return Value:Array<Data.Geometry>
Returns an array of the contained geometry objects. A new array is returned each time getArray()
is called.
getAt
getAt(n)
n
: number
Data.Geometry
Returns the n
-th contained geometry object.
getLength
getLength()
Parameters: None
Return Value: number
Returns the number of contained geometry objects.
getType
getType()
Parameters: None
Return Value: string
Returns the string "GeometryCollection"
.
google.maps.Data.MouseEvent
interface
This object is passed to mouse event handlers on a Data
object.
This interface extends MapMouseEvent
.
google.maps.Data.AddFeatureEvent
interface
The properties of a addfeature
event.
google.maps.Data.RemoveFeatureEvent
interface
The properties of a removefeature
event.
google.maps.Data.SetGeometryEvent
interface
The properties of a setgeometry
event.
google.maps.Data.SetPropertyEvent
interface
The properties of a setproperty
event.
feature
Type: Data.Feature
The feature whose property was set.
name
Type: string
The property name.
newValue
Type: *
The new value.
oldValue
Type: *
The previous value. Will be undefined
if the property was added.
google.maps.Data.RemovePropertyEvent
interface
The properties of a removeproperty
event.
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 2025-07-09 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-09 UTC."],[],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4