Data

Data

google.maps.Data

用于显示地理空间数据的图层。可以显示点、线串和多边形。

默认情况下,每个 Map 都有一个 Data 对象,因此大多数时候不需要构造对象。例如:

 var myMap = new google.maps.Map(...);
myMap.data.addGeoJson(...);
myMap.data.setStyle(...);
Data 对象是 Features 的集合。

此类扩展了 MVCObject

通过调用 const {Data} = await google.maps.importLibrary("maps") 进行访问。请参阅 Maps JavaScript API 中的库

Data
Data([options])
参数
创建一个具有指定 DataOptions 的空集合。
add
add([feature])
参数
返回值Data.Feature
向集合添加地图项,并返回添加的地图项。

如果该地图项具有 ID,它将用同一个 ID 替换集合中的任何现有地图项。如果未指定任何地图项,则将创建具有空几何图形且没有属性的新地图项。如果指定 FeatureOptions,系统将创建具有指定属性的新地图项。

请注意,ID 1234'1234' 是等效的。添加 ID 为 1234 的地图项会替换 ID 为 '1234' 的地图项,反之亦然。

addGeoJson
addGeoJson(geoJson[, options])
参数
返回值Array<Data.Feature>
向集合添加 GeoJSON 地图项。为此方法提供经过解析的 JSON。系统将返回导入的特征。如果无法导入 GeoJSON,则会抛出异常。
contains
contains(feature)
参数
返回值boolean
检查指定地图项是否在集合中。
forEach
forEach(callback)
参数
返回值:None
重复调用指定函数,并在每次调用时将集合中的功能传递给该函数。未定义特征的迭代顺序。
getControlPosition
getControlPosition()
参数:无
返回值ControlPosition
返回绘图控件在地图上的位置。
getControls
getControls()
参数:无
返回值Array<string>
返回可供用户选择的绘制模式(按显示顺序)。这不包括默认添加的 null 绘制模式。可能的绘制模式包括 "Point""LineString""Polygon"
getDrawingMode
getDrawingMode()
参数:无
返回值string|null
返回指定数据层的当前绘制模式。null 绘制模式表示用户可以正常与地图互动,点击不会绘制任何内容。可能的绘制模式包括 null"Point""LineString""Polygon"
getFeatureById
getFeatureById(id)
参数
  • idnumber|string
返回值Data.Feature|undefined
返回具有指定 ID 的地图项(如果集合中存在该地图项)。否则,返回 undefined

请注意,ID 1234'1234' 是等效的。您可以使用任一项查找同一地图项。

getMap
getMap()
参数:无
返回值Map
返回显示地图项的地图。
getStyle
getStyle()
参数:无
获取集合中所有地图项的样式。
loadGeoJson
loadGeoJson(url[, options, callback])
参数
返回值:None
从网址加载 GeoJSON,并向集合添加地图项。

注意:GeoJSON 是使用 XHR 提取的,可能无法跨域运行。如果遇到问题,我们建议您使用所选的 AJAX 库提取 GeoJSON,然后调用 addGeoJson()

overrideStyle
overrideStyle(feature, style)
参数
返回值:None
用于更改地图项的样式。这些更改将应用于 setStyle() 指定的样式之上。设为 null 的样式属性会还原为通过 setStyle() 指定的值。
remove
remove(feature)
参数
返回值:None
从集合中删除地图项。
revertStyle
revertStyle([feature])
参数
返回值:None
移除了之前 overrideStyle() 调用的效果。给定地图项的样式会还原为 setStyle() 指定的样式。

如果未指定任何地图项,则系统会还原所有地图项的样式。

setControlPosition
setControlPosition(controlPosition)
参数
返回值:None
设置绘图控件在地图上的位置。
setControls
setControls(controls)
参数
  • controlsArray<string>
返回值:None
按显示顺序设置用户可选择的绘制模式。这不应包括 null 绘制模式(系统会默认添加该模式)。如果为 null,系统会停用绘图控件,并且不会显示这些控件。可能的绘制模式包括 "Point""LineString""Polygon"
setDrawingMode
setDrawingMode(drawingMode)
参数
  • drawingModestring optional
返回值:None
设置指定数据层的当前绘制模式。null 绘制模式表示用户可以正常与地图互动,点击不会绘制任何内容。可能的绘制模式包括 null"Point""LineString""Polygon"
setMap
setMap(map)
参数
返回值:None
在指定地图上渲染地图项。如果地图设置为null,这些地图项将从地图中移除。
setStyle
setStyle(style)
返回值:None
设置集合中所有地图项的样式。通过 overrideStyle() 按每个地图项指定的样式将继续应用。

传递具有所需样式选项的对象,或用于为每个地图项计算样式的函数。每次更新地图项的属性时,系统都会调用该函数。

toGeoJson
toGeoJson(callback)
参数
  • callbackfunction(Object): void
返回值:None
将集合中的地图项导出到 GeoJSON 对象。
继承的样式addListenerbindTogetnotifysetsetValuesunbindunbindAll
addfeature
function(event)
参数
向集合添加地图项时会触发此事件。
click
function(event)
参数
点击几何图形会触发此事件。
contextmenu
function(event)
参数
对几何图形触发 DOM contextmenu 事件时会触发此事件。
dblclick
function(event)
参数
双击几何图形会触发此事件。
mousedown
function(event)
参数
对几何图形触发 mousedown 事件。
mouseout
function(event)
参数
当鼠标离开几何图形区域时会触发此事件。
mouseover
function(event)
参数
当鼠标进入几何图形区域时会触发此事件。
mouseup
function(event)
参数
对几何图形触发 mouseup 事件。
removefeature
function(event)
参数
从集合中删除地图项时会触发此事件。
removeproperty
function(event)
参数
删除地图项的属性时会触发此事件。
setgeometry
function(event)
参数
设置地图项的几何图形时会触发此事件。
setproperty
function(event)
参数
设置地图项的属性时会触发此事件。
rightclick
function(event)
参数
对几何图形进行右键点击时会触发此事件。

Data.DataOptions 接口

google.maps.Data.DataOptions 接口

DataOptions 对象用于定义开发者可以在 Data 对象上设置的属性。

map
类型Map
要在其上显示集合中地图项的地图。
controlPosition optional
类型ControlPosition optional
绘图控件在地图上的位置。
controls optional
类型Array<string> optional
默认值null
按显示顺序描述可供用户选择的绘制模式。这不应包括 null 绘制模式(系统会默认添加该模式)。如果为 null,系统会停用绘图控件,并且不会显示这些控件。可能的绘制模式包括 "Point""LineString""Polygon"
drawingMode optional
类型string optional
默认值null
指定数据层的当前绘制模式。null 绘制模式表示用户可以正常与地图互动,点击不会绘制任何内容。可能的绘制模式包括 null"Point""LineString""Polygon"
featureFactory optional
类型function(Data.Geometry): Data.Feature optional
启用绘图后,如果用户绘制几何图形(点、线字符串或多边形),则系统会使用该几何图形调用此函数,并返回要添加到数据图层的地图项。如果未提供 featureFactory,则系统将改为根据该几何图形创建没有 ID 和属性的地图项。默认为 null
style optional
为集合中的所有地图项设置样式。如需了解详情,请参阅上面的 setStyle() 方法。

Data.GeoJsonOptions 接口

google.maps.Data.GeoJsonOptions 接口

用于导入 GeoJSON 的可选参数。

idPropertyName optional
类型string optional
要用作地图项 ID 的地图项属性的名称。如果未指定,将使用 GeoJSON 地图项 ID。

Data.StyleOptions 接口

google.maps.Data.StyleOptions 接口

这些选项用于指定地图项在地图上的显示方式。

animation optional
类型Animation optional
将标记添加到地图时要播放的动画。仅适用于点类几何图形。
clickable optional
类型boolean optional
默认值true
如果为 true,则标记会收到鼠标和触摸事件。
cursor optional
类型string optional
鼠标悬停时显示的鼠标光标。仅适用于点类几何图形。
draggable optional
类型boolean optional
默认值false
如果为 true,则可以在地图上拖动对象,并且系统会更新底层地图项的几何图形。
editable optional
类型boolean optional
默认值false
如果为 true,则可以通过拖动控制点来修改对象,并且底层地图项的几何图形会更新。仅适用于 LineString 和多边形几何图形。
fillColor optional
类型string optional
填充色。支持所有CSS3颜色,扩展命名的颜色除外。仅适用于多边形几何图形。
fillOpacity optional
类型number optional
填充不透明度介于 0.0 和 1.0 之间。仅适用于多边形几何图形。
icon optional
类型string|Icon|Symbol optional
前景的图标。如果提供了一个字符串,系统会将其视为 Icon,并将字符串视为 url。仅适用于点类几何图形。
icons optional
类型Array<IconSequence> optional
要沿多段线渲染的图标。仅适用于线几何图形。
label optional
类型string|MarkerLabel optional
向标记添加标签。标签可以是字符串,也可以是 MarkerLabel 对象。仅适用于点类几何图形。
opacity optional
类型number optional
标记的不透明度介于 0.0 和 1.0 之间。仅适用于点类几何图形。
shape optional
类型MarkerShape optional
定义用于检测命中的图像地图。仅适用于点类几何图形。
strokeColor optional
类型string optional
笔触颜色。支持所有CSS3颜色,扩展命名的颜色除外。仅适用于线和多边形几何图形。
strokeOpacity optional
类型number optional
描边不透明度介于 0.0 和 1.0 之间。仅适用于线和多边形几何图形。
strokeWeight optional
类型number optional
描边宽度(以像素为单位)。仅适用于线和多边形几何图形。
title optional
类型string optional
悬停文字。仅适用于点类几何图形。
visible optional
类型boolean optional
默认值true
地图项是否可见。
zIndex optional
类型number optional
所有地图项都按其 zIndex 的顺序在地图上显示,值较高的地图项会显示在值较低的地图项前面。标记始终显示在线串和多边形前面。

Data.StylingFunction typedef

google.maps.Data.StylingFunction typedef

用于计算特征外观的函数。

Data.setStyle() 方法可以接受样式函数。当地图项根据其属性显示不同时,请使用此方式。如需详细了解样式功能,请参阅开发者指南

function(Data.Feature): Data.StyleOptions

Data.Feature

google.maps.Data.Feature

地图项包含一个几何图形、一个 ID 和一组属性。

通过调用 const {Data} = await google.maps.importLibrary("maps") 进行访问。请参阅 Maps JavaScript API 中的库

Data.Feature
Data.Feature([options])
参数
使用指定选项构造地图项。
forEachProperty
forEachProperty(callback)
参数
  • callbackfunction(*, string): void
返回值:None
重复调用指定函数,并在每次调用时传递属性值和名称。属性迭代的顺序未定义。
getGeometry
getGeometry()
参数:无
返回值Data.Geometry
返回地图项的几何图形。
getId
getId()
参数:无
返回值number|string|undefined
返回地图项 ID。
getProperty
getProperty(name)
参数
  • namestring
返回值*
返回所请求属性的值,如果该属性不存在,则返回 undefined
removeProperty
removeProperty(name)
参数
  • namestring
返回值:None
移除具有指定名称的属性。
setGeometry
setGeometry(newGeometry)
参数
返回值:None
设置地图项的几何图形。
setProperty
setProperty(name, newValue)
参数
  • namestring
  • newValue*
返回值:None
设置指定属性的值。如果 newValueundefined,则等同于调用 removeProperty
toGeoJson
toGeoJson(callback)
参数
  • callbackfunction(Object): void
返回值:None
将地图项导出到 GeoJSON 对象。
removeproperty
function(event)
参数
删除地图项的属性时会触发此事件。
setgeometry
function(event)
参数
设置地图项的几何图形时会触发此事件。
setproperty
function(event)
参数
此事件会在设置地图项的属性时触发。

Data.FeatureOptions 接口

google.maps.Data.FeatureOptions 接口

用于创建 Data.Feature 对象的可选参数。

geometry optional
地图项几何图形。如果在构建地图项时未指定任何值,则地图项的几何图形将为 null。如果指定了 LatLng 对象或 LatLngLiteral,系统会将其转换为 Data.Point 几何图形。
id optional
类型number|string optional
特征 ID 是可选的。如果提供了此属性,则可通过使用 getFeatureById() 方法使用它在 Data 对象中查找地图项。请注意,地图项的 ID 以后不能更改。
properties optional
类型Object optional
地图项的属性。这是属性名称到值的任意映射。

Data.Geometry 接口

google.maps.Data.Geometry 接口

各种几何图形对象的父类。

forEachLatLng
forEachLatLng(callback)
参数
  • callbackfunction(LatLng): void
返回值:None
重复调用指定的函数,在每次调用时将几何体中的一个点传递给函数。
getType
getType()
参数:无
返回值string
返回几何图形对象的类型。可能的值包括 "Point""MultiPoint""LineString""MultiLineString""LinearRing""Polygon""MultiPolygon""GeometryCollection"

Data.Point

google.maps.Data.Point

点几何图形包含一个 LatLng

此类实现 Data.Geometry

通过调用 const {Data} = await google.maps.importLibrary("maps") 进行访问。请参阅 Maps JavaScript API 中的库

Data.Point
Data.Point(latLng)
参数
根据指定的 LatLngLatLngLiteral 构造 Data.Point
forEachLatLng
forEachLatLng(callback)
参数
  • callbackfunction(LatLng): void
返回值:None
get
get()
参数:无
返回值LatLng
返回包含的 LatLng
getType
getType()
参数:无
返回值string
返回字符串 "Point"

Data.MultiPoint

google.maps.Data.MultiPoint

MultiPoint 几何图形包含许多 LatLng

此类实现 Data.Geometry

通过调用 const {Data} = await google.maps.importLibrary("maps") 进行访问。请参阅 Maps JavaScript API 中的库

Data.MultiPoint
Data.MultiPoint(elements)
参数
根据指定的 LatLngLatLngLiteral 构造 Data.MultiPoint
forEachLatLng
forEachLatLng(callback)
参数
  • callbackfunction(LatLng): void
返回值:None
getArray
getArray()
参数:无
返回值Array<LatLng>
返回所含 LatLng 的数组。每次调用 getArray() 时都会返回一个新数组。
getAt
getAt(n)
参数
  • nnumber
返回值LatLng
返回包含的 n 中的 LatLng
getLength
getLength()
参数:无
返回值number
返回所含 LatLng 的数量。
getType
getType()
参数:无
返回值string
返回字符串 "MultiPoint"

Data.LineString

google.maps.Data.LineString

LineString 几何图形包含许多 LatLng

此类实现 Data.Geometry

通过调用 const {Data} = await google.maps.importLibrary("maps") 进行访问。请参阅 Maps JavaScript API 中的库

Data.LineString
Data.LineString(elements)
参数
根据指定的 LatLngLatLngLiteral 构造 Data.LineString
forEachLatLng
forEachLatLng(callback)
参数
  • callbackfunction(LatLng): void
返回值:None
getArray
getArray()
参数:无
返回值Array<LatLng>
返回所含 LatLngs 的数组。每次调用 getArray() 时都会返回一个新数组。
getAt
getAt(n)
参数
  • nnumber
返回值LatLng
返回包含的 n 中的 LatLng
getLength
getLength()
参数:无
返回值number
返回所含 LatLng 的数量。
getType
getType()
参数:无
返回值string
返回字符串 "LineString"

Data.MultiLineString

google.maps.Data.MultiLineString

MultiLineString 几何图形包含许多 LineString

此类实现 Data.Geometry

通过调用 const {Data} = await google.maps.importLibrary("maps") 进行访问。请参阅 Maps JavaScript API 中的库

Data.MultiLineString
Data.MultiLineString(elements)
根据指定的 Data.LineString 或位置数组构造 Data.MultiLineString
forEachLatLng
forEachLatLng(callback)
参数
  • callbackfunction(LatLng): void
返回值:None
getArray
getArray()
参数:无
返回值Array<Data.LineString>
返回所含 Data.LineString 的数组。每次调用 getArray() 时都会返回一个新数组。
getAt
getAt(n)
参数
  • nnumber
返回值Data.LineString
返回包含的 n 中的 Data.LineString
getLength
getLength()
参数:无
返回值number
返回所含 Data.LineString 的数量。
getType
getType()
参数:无
返回值string
返回字符串 "MultiLineString"

Data.LinearRing

google.maps.Data.LinearRing

一个 LinearRing 几何图形包含许多 LatLng,表示一个闭合的 LineString。无需将第一个 LatLng 设为最后一个 LatLng。LinearRing 会隐式关闭。

此类实现 Data.Geometry

通过调用 const {Data} = await google.maps.importLibrary("maps") 进行访问。请参阅 Maps JavaScript API 中的库

Data.LinearRing
Data.LinearRing(elements)
参数
根据指定的 LatLngLatLngLiteral 构造 Data.LinearRing
forEachLatLng
forEachLatLng(callback)
参数
  • callbackfunction(LatLng): void
返回值:None
getArray
getArray()
参数:无
返回值Array<LatLng>
返回所含 LatLng 的数组。每次调用 getArray() 时都会返回一个新数组。
getAt
getAt(n)
参数
  • nnumber
返回值LatLng
返回包含的 n 中的 LatLng
getLength
getLength()
参数:无
返回值number
返回所含 LatLng 的数量。
getType
getType()
参数:无
返回值string
返回字符串 "LinearRing"

Data.Polygon

google.maps.Data.Polygon

多边形几何图形包含许多 Data.LinearRing。第一个线性环必须是多边形的外边界,后续的线性环必须是内部边界(也称为孔)。请参阅带孔多边形示例

此类实现 Data.Geometry

通过调用 const {Data} = await google.maps.importLibrary("maps") 进行访问。请参阅 Maps JavaScript API 中的库

Data.Polygon
Data.Polygon(elements)
根据指定的 Data.LinearRing 或位置数组构造 Data.Polygon
forEachLatLng
forEachLatLng(callback)
参数
  • callbackfunction(LatLng): void
返回值:None
getArray
getArray()
参数:无
返回值Array<Data.LinearRing>
返回所含 Data.LinearRing 的数组。每次调用 getArray() 时都会返回一个新数组。
getAt
getAt(n)
参数
  • nnumber
返回值Data.LinearRing
返回包含的 n 中的 Data.LinearRing
getLength
getLength()
参数:无
返回值number
返回所含 Data.LinearRing 的数量。
getType
getType()
参数:无
返回值string
返回字符串 "Polygon"

Data.MultiPolygon

google.maps.Data.MultiPolygon

MultiPolygon 几何图形包含许多 Data.Polygon

此类实现 Data.Geometry

通过调用 const {Data} = await google.maps.importLibrary("maps") 进行访问。请参阅 Maps JavaScript API 中的库

Data.MultiPolygon
Data.MultiPolygon(elements)
根据指定的 Data.Polygon 或位置数组构造 Data.MultiPolygon
forEachLatLng
forEachLatLng(callback)
参数
  • callbackfunction(LatLng): void
返回值:None
getArray
getArray()
参数:无
返回值Array<Data.Polygon>
返回所含 Data.Polygon 的数组。每次调用 getArray() 时都会返回一个新数组。
getAt
getAt(n)
参数
  • nnumber
返回值Data.Polygon
返回包含的 n 中的 Data.Polygon
getLength
getLength()
参数:无
返回值number
返回所含 Data.Polygon 的数量。
getType
getType()
参数:无
返回值string
返回字符串 "MultiPolygon"

Data.GeometryCollection

google.maps.Data.GeometryCollection

GeometryCollection 包含许多几何图形对象。任何 LatLngLatLngLiteral 对象都会自动转换为 Data.Point 几何图形对象。

此类实现 Data.Geometry

通过调用 const {Data} = await google.maps.importLibrary("maps") 进行访问。请参阅 Maps JavaScript API 中的库

Data.GeometryCollection
Data.GeometryCollection(elements)
参数
根据指定的几何图形对象或 LatLng 构造 Data.GeometryCollection
forEachLatLng
forEachLatLng(callback)
参数
  • callbackfunction(LatLng): void
返回值:None
getArray
getArray()
参数:无
返回值Array<Data.Geometry>
返回所含几何图形对象的数组。每次调用 getArray() 时都会返回一个新数组。
getAt
getAt(n)
参数
  • nnumber
返回值Data.Geometry
返回包含的 n 的几何图形对象。
getLength
getLength()
参数:无
返回值number
返回所含几何图形对象的数量。
getType
getType()
参数:无
返回值string
返回字符串 "GeometryCollection"

Data.MouseEvent 接口

google.maps.Data.MouseEvent 接口

此对象会传递给 Data 对象上的鼠标事件处理脚本。

此接口扩展了 MapMouseEvent

feature
类型Data.Feature
生成鼠标事件的功能。
已继承domEventlatLng
已继承stop

Data.AddFeatureEvent 接口

google.maps.Data.AddFeatureEvent 接口

addfeature 事件的属性。

feature
类型Data.Feature
添加到 FeatureCollection 的功能。

Data.RemoveFeatureEvent 接口

google.maps.Data.RemoveFeatureEvent 接口

removefeature 事件的属性。

feature
类型Data.Feature
FeatureCollection 中移除的功能。

Data.SetGeometryEvent 接口

google.maps.Data.SetGeometryEvent 接口

setgeometry 事件的属性。

feature
类型Data.Feature
已设置其几何图形的地图项。
newGeometry optional
类型Data.Geometry optional
新的地图项几何图形。
oldGeometry optional
类型Data.Geometry optional
上一个地图项几何图形。

Data.SetPropertyEvent 接口

google.maps.Data.SetPropertyEvent 接口

setproperty 事件的属性。

feature
类型Data.Feature
设置了其属性的地图项。
name
类型string
属性名称。
newValue
类型*
新值。
oldValue
类型*
先前的值。如果添加了相应属性,此值为 undefined

Data.RemovePropertyEvent 接口

google.maps.Data.RemovePropertyEvent 接口

removeproperty 事件的属性。

feature
类型Data.Feature
移除了其属性的地图项。
name
类型string
属性名称。
oldValue
类型*
先前的值。