Data

Data

google.maps.Data

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

默认情况下,每个 Map 都有一个 Data 对象,因此在大多数情况下,无需构建 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 的任何现有地图项。如果未指定地图项,系统会创建一个具有 null 几何图形且没有属性的新地图项。如果给定了 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
在地图上渲染地图项。如果将 map 设置为 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)
参数: 
当用户在几何图形上松开鼠标时,系统会触发此事件。
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
启用绘制功能后,当用户绘制几何图形(点、线字符串或多边形)时,系统会使用该几何图形调用此函数,并且应返回要添加到数据图层的 Feature。如果未提供 featureFactory,系统将改为根据该几何图形创建没有 ID 和没有属性的 Feature。默认为 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 和 Polygon 几何图形。
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 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
类型:  Data.Geometry|LatLng|LatLngLiteral 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
返回包含的 LatLng 中的第 n 个。
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
返回包含的 LatLng 中的第 n 个。
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
返回包含的 Data.LineString 中的第 n 个。
getLength
getLength()
参数:无
返回值:  number
返回包含的 Data.LineString 的数量。
getType
getType()
参数:无
返回值:  string
返回字符串 "MultiLineString"

Data.LinearRing

google.maps.Data.LinearRing

线形环几何图形包含多个 LatLng,表示封闭的线串。无需使第一个 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
返回包含的 LatLng 中的第 n 个。
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
返回包含的 Data.LinearRing 中的第 n 个。
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
返回值:None
getArray
getArray()
参数:无
返回值:  Array<Data.Polygon>
返回包含的 Data.Polygon 的数组。每次调用 getArray() 时,都会返回一个新数组。
getAt
getAt(n)
参数: 
  • nnumber
返回值:  Data.Polygon
返回包含的 Data.Polygon 中的第 n 个。
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
类型:  *
旧值。