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,系统将使用指定属性创建新特征。

请注意,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
前景的图标。如果提供的是字符串,则将它视为 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 类型定义符

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

用于计算地图项外观的函数。

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
返回值:无
重复调用指定的函数,并在每次调用时传递属性值和名称。属性遍历顺序尚未定义。
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

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

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

多点几何图形包含许多 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
返回值:无
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
返回值:无
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
返回值:无
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
返回值:无
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
返回值:无
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

多重多边形几何图形包含多个 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
返回值:无
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
返回值:无
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
类型*
之前的值。