Data class
class
google.maps.Data
extends MVCObject
library "maps"
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(...);
Data object is a collection of Features.
const {Data} = await google.maps.importLibrary("maps");
Constructor | |
|---|---|
Data |
Data([options])Parameters:
Creates an empty collection, with the given DataOptions. |
Methods | |
|---|---|
add |
add([feature])Parameters:
Return Value:
Data.FeatureAdds 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 Note that the IDs |
addGeoJson |
addGeoJson(geoJson[, options])Parameters:
Return Value:
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)Parameters:
Return Value:
booleanChecks whether the given feature is in the collection. |
forEach |
forEach(callback)Parameters:
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|nullReturns the position of the drawing controls on the map. |
getControls |
getControls()Parameters: None
Return Value:
Array<string>|nullReturns 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|nullReturns 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)Parameters:
Return Value:
Data.Feature|undefinedReturns the feature with the given ID, if it exists in the collection. Otherwise returns undefined. Note that the IDs |
getMap |
getMap()Parameters: None
Return Value:
Map|nullReturns the map on which the features are displayed. |
getStyle |
getStyle()Parameters: None
Return Value:
Data.StylingFunction|Data.StyleOptions|nullGets the style for all features in the collection. |
loadGeoJson |
loadGeoJson(url[, options, callback])Parameters:
Return Value: None
Loads GeoJSON from a URL, and adds the features to the collection. 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 |
overrideStyle |
overrideStyle(feature, style)Parameters:
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)Parameters:
Return Value: None
Removes a feature from the collection. |
revertStyle |
revertStyle([feature])Parameters:
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)Parameters:
Return Value: None
Sets the position of the drawing controls on the map. |
setControls |
setControls(controls)Parameters:
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)Parameters:
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)Parameters:
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)Parameters:
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)Parameters:
Return Value: None
Exports the features in the collection to a GeoJSON object. |
Inherited:
addListener,
bindTo,
get,
notify,
set,
setValues,
unbind,
unbindAll
| |
Events | |
|---|---|
addfeature |
function(event)Arguments:
This event is fired when a feature is added to the collection. |
click |
function(event)Arguments:
This event is fired for a click on the geometry. |
contextmenu |
function(event)Arguments:
This event is fired when the DOM contextmenu event is fired on the geometry. |
dblclick |
function(event)Arguments:
This event is fired for a double click on the geometry. |
mousedown |
function(event)Arguments:
This event is fired for a mousedown on the geometry. |
mouseout |
function(event)Arguments:
This event is fired when the mouse leaves the area of the geometry. |
mouseover |
function(event)Arguments:
This event is fired when the mouse enters the area of the geometry. |
mouseup |
function(event)Arguments:
This event is fired for a mouseup on the geometry. |
removefeature |
function(event)Arguments:
This event is fired when a feature is removed from the collection. |
removeproperty |
function(event)Arguments:
This event is fired when a feature's property is removed. |
setgeometry |
function(event)Arguments:
This event is fired when a feature's geometry is set. |
setproperty |
function(event)Arguments:
This event is fired when a feature's property is set. |
|
function(event)Arguments:
This event is fired for a rightclick on the geometry. |
Data.DataOptions interface
interface
google.maps.Data.DataOptions
DataOptions object used to define the properties that a developer can set on a Data object.
Properties | |
|---|---|
map |
Type:
MapMap on which to display the features in the collection. |
controlPosition
optional |
Type:
ControlPosition optionalDefault:
ControlPosition.TOP_LEFTThe position of the drawing controls on the map. |
controls
optional |
Type:
Array<string> optionalDefault:
nullDescribes 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 optionalDefault:
nullThe 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 optionalWhen 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 optionalStyle for all features in the collection. For more details, see the setStyle() method above. |
Data.GeoJsonOptions interface
interface
google.maps.Data.GeoJsonOptions
Optional parameters for importing GeoJSON.
Properties | |
|---|---|
idPropertyName
optional |
Type:
string optionalThe name of the Feature property to use as the feature ID. If not specified, the GeoJSON Feature id will be used. |
Data.StyleOptions interface
interface
google.maps.Data.StyleOptions
These options specify the way a Feature should appear when displayed on a map.
Properties | |
|---|---|
animation
optional |
Type:
Animation optionalThe animation to play when marker is added to a map. Only applies to point geometries. |
clickable
optional |
Type:
boolean optionalDefault:
trueIf true, the marker receives mouse and touch events. |
cursor
optional |
Type:
string optionalMouse cursor to show on hover. Only applies to point geometries. |
draggable
optional |
Type:
boolean optionalDefault:
falseIf true, the object can be dragged across the map and the underlying feature will have its geometry updated. |
editable
optional |
Type:
boolean optionalDefault:
falseIf 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 optionalThe fill color. All CSS3 colors are supported e |