Data

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

Data

google.maps.Data

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

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

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

此类扩展了 MVCObject

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

如果特征具有 ID,它会将集合中的所有现有特征替换为同一 ID。如果未指定任何地图项,则系统将使用空的几何形状和无属性创建新地图项。如果指定了 FeatureOptions,系统将使用指定属性创建新特征。

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

addGeoJson
addGeoJson(geoJson[, options])
参数
返回值Array<Data.Feature>
将 GeoJSON 功能添加到集合中。为此方法提供解析后的 JSON。系统会返回导入的地图项。如果 GeoJSON 无法导入,则会抛出异常。
contains
contains(feature)
参数
返回值boolean
检查给定特征是否在集合中。
forEach
forEach(callback)
参数
返回值:无
重复调用指定的函数,在每次调用时将集合中的特征传递给函数。这些功能的迭代顺序尚未定义。
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 对应的特征(如果集合中提供了该 ID)。否则返回 undefined

请注意,1234'1234' 是等效的。两者都可以用来查找同一项功能。

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

注意:GeoJSON 是使用 XHR 提取的,可能不适用于跨域。如果您遇到问题,我们建议您使用自己选择的 AJAX 库提取 GeoJSON,然后调用 addGeoJson()

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

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

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

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

toGeoJson
toGeoJson(callback)
参数
  • callbackfunction(Object): void
返回值:无
将集合中的地图项导出到 GeoJSON 对象。
继承addListenerbindTogetnotifysetsetValuesunbindunbindAll
addfeature
function(event)
参数
向集合添加特征时会触发此事件。
click
function(event)
参数
当用户点击几何图形时,系统会触发此事件。
contextmenu
function(event)
参数
对几何图形触发 DOM contextmenu 事件时会触发此事件。
dblclick
function(event)
参数
双击几何图形时会触发此事件。
mousedown
function(event)
参数
几何形状触发鼠标悬停时会触发此事件。
mouseout
function(event)
参数
当鼠标离开几何图形区域时会触发此事件。
mouseover
function(event)
参数
当鼠标进入几何图形区域时会触发此事件。
mouseup
function(event)
参数
几何形状触发此事件时会触发此事件。
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
前景的图标。如果提供字符串,则将其视为字符串为 urlIcon。仅适用于点类几何形状。
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 类型定义符

google.maps.Data.StylingFunction类型定义符

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

Data.setStyle() 方法可以接受样式函数。当功能因其属性而异时,请使用此属性。如需详细了解如何设置地图项样式,请参阅开发者指南

function(Data.Feature): Data.StyleOptions

Data.Feature

google.maps.Data.Feature

地图项具有几何图形、ID 和一组属性。

Data.Feature
Data.Feature([options])
参数
使用指定选项构造地图项。
forEachProperty
forEachProperty(callback)
参数
  • callbackfunction(*, string): void
返回值:无
重复调用指定的函数,并在每次调用时传递属性值和名称。属性的迭代顺序尚未定义。
getGeometry
getGeometry()
参数:无
返回值Data.Geometry
返回地图项的几何图形。
getId
getId()
参数:无
返回值number|string|undefined
返回设施 ID。
getProperty
getProperty(name)
参数
  • namestring
返回值*
返回所请求属性的值;如果该属性不存在,则返回 undefined
removeProperty
removeProperty(name)
参数
  • namestring
返回值:无
移除具有给定名称的属性。
setGeometry
setGeometry(newGeometry)
参数
返回值:无
设置地图项的几何图形。
setProperty
setProperty(name, newValue)
参数
  • namestring
  • newValue*
返回值:无
设置指定属性的值。如果 newValueundefined,这相当于调用 removeProperty
toGeoJson
toGeoJson(callback)
参数
  • callbackfunction(Object): void
返回值:无
将地图项导出到 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
返回值:无
重复调用指定的函数,在每次调用时将一个点从几何图形传递给函数。
getType
getType()
参数:无
返回值string
返回几何图形对象的类型。可能的值包括 "Point""MultiPoint""LineString""MultiLineString""LinearRing""Polygon""MultiPolygon""GeometryCollection"

Data.Point

google.maps.Data.Point

点几何图形只包含一个 LatLng

此类会实现 Data.Geometry

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

Data.MultiPoint

google.maps.Data.MultiPoint

MultiPoint 几何图形包含许多 LatLng

此类会实现 Data.Geometry

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

Data.LineString

google.maps.Data.LineString

LineString 几何图形包含多个 LatLng

此类会实现 Data.Geometry

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

Data.MultiLineString

google.maps.Data.MultiLineString

MultiLineString 几何图形包含多个 LineString

此类会实现 Data.Geometry

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

Data.LinearRing

google.maps.Data.LinearRing

LinearRing 几何图形包含多个 LatLng,表示一个闭合的 LineString。无需让第一个 LatLng 等于最后一个 LatLng。LinearRing 已隐式关闭。

此类会实现 Data.Geometry

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

Data.Polygon

google.maps.Data.Polygon

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

此类会实现 Data.Geometry

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

Data.MultiPolygon

google.maps.Data.MultiPolygon

MultiPolygon 几何图形包含一些 Data.Polygon

此类会实现 Data.Geometry

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

Data.GeometryCollection

google.maps.Data.GeometryCollection

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

此类会实现 Data.Geometry

Data.GeometryCollection
Data.GeometryCollection(elements)
参数
根据指定的几何图形对象或 LatLng 构造 Data.GeometryCollection
forEachLatLng
forEachLatLng(callback)
参数
  • callbackfunction(LatLng): void
返回值:无
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
类型*
之前的值。