Data 类
google.maps.Data
类
用于显示地理空间数据的图层。点、线串和多边形可以显示。
默认情况下,每个 Map
都有一个 Data
对象,因此大多数情况下都无需构造。例如:
var myMap = new google.maps.Map(...);
myMap.data.addGeoJson(...);
myMap.data.setStyle(...);
Data
对象是 Features
的集合。
此类扩展了 MVCObject
。
使用 v=beta
时,可通过调用 const {Data} = await google.map.importLibrary("maps")
进行访问。请参阅 Maps JavaScript API 中的库。
构造函数 | |
---|---|
Data |
Data([options]) 参数:
使用指定的 DataOptions 创建空集合。 |
方法 | |
---|---|
add |
add([feature]) 参数:
返回值:
Data.Feature 将特征添加到集合中,并返回添加的特征。 如果该地图项具有 ID,它将替换该集合中具有相同 ID 的任何现有地图项。如果未指定任何地图项,将创建具有空几何图形且没有属性的新地图项。如果指定了 请注意, |
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) 参数:
返回值:
Data.Feature|undefined 返回具有指定 ID 的地图项(如果集合中提供了该 ID)。否则返回 undefined 。 请注意, |
getMap |
getMap() 参数:无
返回值:
Map 用于返回显示地图项的地图。 |
getStyle |
getStyle() 参数:无
获取集合中所有地图项的样式。 |
loadGeoJson |
loadGeoJson(url[, options, callback]) 参数:
返回值:无
从网址加载 GeoJSON,并将地图项添加到集合中。 注意:GeoJSON 是使用 XHR 提取的,可能不适用于跨网域。如果您遇到问题,我们建议您使用自己选择的 AJAX 库提取 GeoJSON,然后调用 |
overrideStyle |
overrideStyle(feature, style) 参数:
返回值:无
用于更改地图项的样式。这些更改在应用 setStyle() 指定的样式之上。样式属性设置为 null 时,将恢复为通过 setStyle() 指定的值。 |
remove |
remove(feature) 参数:
返回值:无
从集合中移除地图项。 |
revertStyle |
revertStyle([feature]) 参数:
返回值:无
移除之前 overrideStyle() 调用的效果。指定地图项的样式会还原为 setStyle() 指定的样式。如果未指定任何地图项,所有地图项的样式都将还原。 |
setControlPosition |
setControlPosition(controlPosition) 参数:
返回值:无
设置绘图控件在地图上的位置。 |
setControls |
setControls(controls) 参数:
返回值:无
设置用户可选择的绘图模式(按显示顺序)。这不应包含默认添加的 null 绘制模式。如果为 null ,绘图控件会停用且不会显示。可能的绘制模式包括 "Point" 、"LineString" 或 "Polygon" 。 |
setDrawingMode |
setDrawingMode(drawingMode) 参数:
返回值:无
设置给定数据层的当前绘制模式。绘图模式为 null 表示用户可以照常与地图互动,点击不会绘制任何内容。可能的绘制模式包括 null 、"Point" 、"LineString" 或 "Polygon" 。 |
setMap |
setMap(map) 参数:
返回值:无
在指定地图上渲染此地图项。如果地图设置为 null ,地图项将从地图中移除。 |
setStyle |
setStyle(style) 参数:
返回值:无
用于设置集合中所有地图项的样式。系统会继续通过 overrideStyle() 为每个地图项指定样式。可以传递具有所需样式选项的对象,也可以传递用于为每个地图项计算样式的函数。每次更新地图项的属性时,系统都会调用该函数。 |
toGeoJson |
toGeoJson(callback) 参数:
返回值:无
将集合中的地图项导出到 GeoJSON 对象。 |
继承的设置:
addListener 、bindTo 、get 、notify 、set 、setValues 、unbind 、unbindAll
|
活动 | |
---|---|
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) 参数:
当设置地图项的属性时会触发此事件。 |
|
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 |
类型:
Data.StylingFunction|Data.StyleOptions 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 |
前景的图标。如果提供的是字符串,则将它视为 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 和一组属性。
使用 v=beta
时,可通过调用 const {Data} = await google.map.importLibrary("maps")
进行访问。请参阅 Maps JavaScript API 中的库。
构造函数 | |
---|---|
Data.Feature |
Data.Feature([options]) 参数:
使用指定选项构造地图项。 |
方法 | |
---|---|
forEachProperty |
forEachProperty(callback) 参数:
返回值:无
重复调用指定的函数,并在每次调用时传递属性值和名称。属性遍历顺序尚未定义。 |
getGeometry |
getGeometry() 参数:无
返回值:
Data.Geometry 返回地图项的几何图形。 |
getId |
getId() 参数:无
返回值:
number|string|undefined 返回地图项 ID。 |
getProperty |
getProperty(name) 参数:
返回值:
* 返回所请求属性的值,如果该属性不存在,则返回 undefined 。 |
removeProperty |
removeProperty(name) 参数:
返回值:无
移除具有指定名称的属性。 |
setGeometry |
setGeometry(newGeometry) 参数:
返回值:无
设置地图项的几何图形。 |
setProperty |
setProperty(name, newValue) 参数:
返回值:无
设置指定属性的值。如果 newValue 为 undefined ,则等同于调用 removeProperty 。 |
toGeoJson |
toGeoJson(callback) 参数:
返回值:无
将地图项导出到 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) 参数:
返回值:无
重复调用指定的函数,并在每次调用时将一个点从几何图形传递给该函数。 |
getType |
getType() 参数:无
返回值:
string 返回几何图形对象的类型。可能的值包括 "Point" 、"MultiPoint" 、"LineString" 、"MultiLineString" 、"LinearRing" 、"Polygon" 、"MultiPolygon" 或 "GeometryCollection" 。 |
Data.Point 类
google.maps.Data.Point
类
点几何图形只包含一个 LatLng
。
此类实现 Data.Geometry
。
使用 v=beta
时,可通过调用 const {Data} = await google.map.importLibrary("maps")
进行访问。请参阅 Maps JavaScript API 中的库。
构造函数 | |
---|---|
Data.Point |
Data.Point(latLng) 参数:
根据指定的 LatLng 或 LatLngLiteral 构造 Data.Point 。 |
方法 | |
---|---|
forEachLatLng |
forEachLatLng(callback) 参数:
返回值:无
|
get |
get() 参数:无
返回值:
LatLng 返回所包含的 LatLng 。 |
getType |
getType() 参数:无
返回值:
string 返回字符串 "Point" 。 |
Data.MultiPoint 类
google.maps.Data.MultiPoint
类
多点几何图形包含许多 LatLng
。
此类实现 Data.Geometry
。
使用 v=beta
时,可通过调用 const {Data} = await google.map.importLibrary("maps")
进行访问。请参阅 Maps JavaScript API 中的库。
构造函数 | |
---|---|
Data.MultiPoint |
Data.MultiPoint(elements) 参数:
根据指定的 LatLng 或 LatLngLiteral 构造 Data.MultiPoint 。 |
方法 | |
---|---|
forEachLatLng |
forEachLatLng(callback) 参数:
返回值:无
|
getArray |
getArray() 参数:无
返回包含的 LatLng 的数组。每次调用 getArray() 时,系统都会返回一个新数组。 |
getAt |
getAt(n) 参数:
返回值:
LatLng 返回第 n 个包含的 LatLng 。 |
getLength |
getLength() 参数:无
返回值:
number 返回所含 LatLng 的数量。 |
getType |
getType() 参数:无
返回值:
string 返回字符串 "MultiPoint" 。 |
Data.LineString 类
google.maps.Data.LineString
类
LineString 几何图形包含多个 LatLng
。
此类实现 Data.Geometry
。
使用 v=beta
时,可通过调用 const {Data} = await google.map.importLibrary("maps")
进行访问。请参阅 Maps JavaScript API 中的库。
构造函数 | |
---|---|
Data.LineString |
Data.LineString(elements) 参数:
根据指定的 LatLng 或 LatLngLiteral 构造 Data.LineString 。 |
方法 | |
---|---|
forEachLatLng |
forEachLatLng(callback) 参数:
返回值:无
|
getArray |
getArray() 参数:无
返回所包含 LatLngs 的数组。每次调用 getArray() 时,系统都会返回一个新数组。 |
getAt |
getAt(n) 参数:
返回值:
LatLng 返回第 n 个包含的 LatLng 。 |
getLength |
getLength() 参数:无
返回值:
number 返回所含 LatLng 的数量。 |
getType |
getType() 参数:无
返回值:
string 返回字符串 "LineString" 。 |
Data.MultiLineString 类
google.maps.Data.MultiLineString
类
MultiLineString 几何图形包含若干 LineString
。
此类实现 Data.Geometry
。
使用 v=beta
时,可通过调用 const {Data} = await google.map.importLibrary("maps")
进行访问。请参阅 Maps JavaScript API 中的库。
构造函数 | |
---|---|
Data.MultiLineString |
Data.MultiLineString(elements) 参数:
根据指定的 Data.LineString 或位置数组构造 Data.MultiLineString 。 |
方法 | |
---|---|
forEachLatLng |
forEachLatLng(callback) 参数:
返回值:无
|
getArray |
getArray() 参数:无
返回值:
Array<Data.LineString> 返回包含的 Data.LineString 的数组。每次调用 getArray() 时,系统都会返回一个新数组。 |
getAt |
getAt(n) 参数:
返回值:
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
。
使用 v=beta
时,可通过调用 const {Data} = await google.map.importLibrary("maps")
进行访问。请参阅 Maps JavaScript API 中的库。
构造函数 | |
---|---|
Data.LinearRing |
Data.LinearRing(elements) 参数:
根据指定的 LatLng 或 LatLngLiteral 构造 Data.LinearRing 。 |
方法 | |
---|---|
forEachLatLng |
forEachLatLng(callback) 参数:
返回值:无
|
getArray |
getArray() 参数:无
返回包含的 LatLng 的数组。每次调用 getArray() 时,系统都会返回一个新数组。 |
getAt |
getAt(n) 参数:
返回值:
LatLng 返回第 n 个包含的 LatLng 。 |
getLength |
getLength() 参数:无
返回值:
number 返回所含 LatLng 的数量。 |
getType |
getType() 参数:无
返回值:
string 返回字符串 "LinearRing" 。 |
Data.Polygon 类
google.maps.Data.Polygon
类
多边形几何图形包含若干 Data.LinearRing
。第一个线性环必须是多边形外边界,后续线性环必须是内边界(也称为孔)。请参阅带有孔的多边形示例。
此类实现 Data.Geometry
。
使用 v=beta
时,可通过调用 const {Data} = await google.map.importLibrary("maps")
进行访问。请参阅 Maps JavaScript API 中的库。
构造函数 | |
---|---|
Data.Polygon |
Data.Polygon(elements) 参数:
根据指定的 Data.LinearRing 或位置数组构造 Data.Polygon 。 |
方法 | |
---|---|
forEachLatLng |
forEachLatLng(callback) 参数:
返回值:无
|
getArray |
getArray() 参数:无
返回值:
Array<Data.LinearRing> 返回包含的 Data.LinearRing 的数组。每次调用 getArray() 时,系统都会返回一个新数组。 |
getAt |
getAt(n) 参数:
返回值:
Data.LinearRing 返回第 n 个包含的 Data.LinearRing 。 |
getLength |
getLength() 参数:无
返回值:
number 返回所含 Data.LinearRing 的数量。 |
getType |
getType() 参数:无
返回值:
string 返回字符串 "Polygon" 。 |
Data.MultiPolygon 类
google.maps.Data.MultiPolygon
类
多重多边形几何图形包含多个 Data.Polygon
。
此类实现 Data.Geometry
。
使用 v=beta
时,可通过调用 const {Data} = await google.map.importLibrary("maps")
进行访问。请参阅 Maps JavaScript API 中的库。
构造函数 | |
---|---|
Data.MultiPolygon |
Data.MultiPolygon(elements) 参数:
根据指定的 Data.Polygon 或位置数组构造 Data.MultiPolygon 。 |
方法 | |
---|---|
forEachLatLng |
forEachLatLng(callback) 参数:
返回值:无
|
getArray |
getArray() 参数:无
返回值:
Array<Data.Polygon> 返回包含的 Data.Polygon 的数组。每次调用 getArray() 时,系统都会返回一个新数组。 |
getAt |
getAt(n) 参数:
返回值:
Data.Polygon 返回第 n 个包含的 Data.Polygon 。 |
getLength |
getLength() 参数:无
返回值:
number 返回所含 Data.Polygon 的数量。 |
getType |
getType() 参数:无
返回值:
string 返回字符串 "MultiPolygon" 。 |
Data.GeometryCollection 类
google.maps.Data.GeometryCollection
类
GeometryCollection 包含许多几何图形对象。任何 LatLng
或 LatLngLiteral
对象都会自动转换为 Data.Point
几何图形对象。
此类实现 Data.Geometry
。
使用 v=beta
时,可通过调用 const {Data} = await google.map.importLibrary("maps")
进行访问。请参阅 Maps JavaScript API 中的库。
构造函数 | |
---|---|
Data.GeometryCollection |
Data.GeometryCollection(elements) 参数:
根据给定的几何图形对象或 LatLng 构造 Data.GeometryCollection 。 |
方法 | |
---|---|
forEachLatLng |
forEachLatLng(callback) 参数:
返回值:无
|
getArray |
getArray() 参数:无
返回值:
Array<Data.Geometry> 返回一个数组,其中包含所含几何图形对象。每次调用 getArray() 时,系统都会返回一个新数组。 |
getAt |
getAt(n) 参数:
返回值:
Data.Geometry 返回第 n 个所含的几何图形对象。 |
getLength |
getLength() 参数:无
返回值:
number 返回所含几何图形对象的数量。 |
getType |
getType() 参数:无
返回值:
string 返回字符串 "GeometryCollection" 。 |
Data.MouseEvent 接口
google.maps.Data.MouseEvent
接口
此对象会被传递给 Data
对象的鼠标事件处理脚本。
此接口扩展了 MapMouseEvent
。
属性 | |
---|---|
feature |
类型:
Data.Feature 生成鼠标事件的功能。 |
继承的设置:
domEvent 、latLng
|
方法 | |
---|---|
继承的设置:
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 |
类型:
* 之前的值。 |