Maps

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

Map

google.maps.Map

此类扩展了 MVCObject

Map
Map(mapDiv[, opts])
参数
  • mapDivHTMLElement地图会渲染以填充此元素。
  • optsMapOptions optional 个选项
在指定的 HTML 容器(通常为 DIV 元素)内创建新的地图。
controls
类型Array<MVCArray<HTMLElement>>
附加到地图的其他控件。如需向地图添加控件,请将控件的 <div> 添加到与应渲染它的 ControlPosition 相对应的 MVCArray 中。
data
类型Data
绑定到地图的 Data 实例。向此 Data 对象添加地图项,以方便在此地图上显示这些地图项。
mapTypes
按字符串 ID 划分的 MapType 实例的注册表。
overlayMapTypes
类型MVCArray<MapType optional>
要叠加的其他地图类型。叠加层地图类型将按照在 overlayMapTypes 数组中出现的顺序,显示在其附加到的基本地图上方(叠加层的索引值越高,显示位置就越靠前)。
fitBounds
fitBounds(bounds[, padding])
参数
  • bounds:要显示的 LatLngBounds|LatLngBoundsLiteral 边界。
  • paddingnumber|Padding optional 内边距(以像素为单位)。边界将适合地图移除内边距后剩余的部分。数字值在所有 4 面上产生相同的内边距。在此处提供 0,使 getBounds 与 getBounds 的结果具有幂等性。
返回值:无
用于设置视口,使其包含指定边界。
注意:当地图设置为 display: none 时,fitBounds 函数会将地图的大小读取为 0x0,因此不会执行任何操作。要在地图处于隐藏状态时更改视口,请将地图设置为 visibility: hidden,从而确保地图 div 具有实际尺寸。对于矢量地图,此方法将地图的倾斜度和方向设置为默认的零值。
getBounds
getBounds()
参数:无
返回值LatLngBounds|undefined 当前视口的纬度/经度范围。
用于返回当前视口的纬度/经度范围。如果可以看到世界上的多个副本,则经度范围在 -180 度(含)和 180 度(含)之间。如果地图尚未初始化,或者未设置中心和缩放,则结果为 undefined。对于倾斜度或方向不为零的矢量地图,返回的纬度/经度范围表示包含地图视口可见区域的最小边界框。如需了解地图视口的确切可见区域,请参阅 MapCanvasProjection.getVisibleRegion
getCenter
getCenter()
参数:无
返回值LatLng|undefined
用于返回显示在地图中心的位置。请注意,此 LatLng 对象并未封装。如需了解详情,请参阅 LatLng。如果未设置中心或边界,则结果为 undefined
getClickableIcons
getClickableIcons()
参数:无
返回值boolean|undefined
返回地图图标的可点击性。地图图标表示地图注点,也称为地图注点。如果返回的值为 true,则地图上的图标是可点击的。
getDiv
getDiv()
参数:无
返回值HTMLElement 地图的 mapDiv。
">getFeatureLayer
getFeatureLayer(featureType)
参数
返回值FeatureLayer
返回特定 FeatureTypeFeatureLayer。必须在 Google Cloud 控制台中启用 FeatureLayer。如果此地图上不存在指定 FeatureTypeFeatureLayer,或者数据驱动型样式不可用(没有地图 ID、没有矢量图块,且地图样式中未启用 FeatureLayer),则系统将会记录错误,并且生成的 FeatureLayer.isAvailable 将为 false。
getHeading
getHeading()
参数:无
返回值number|undefined
返回地图的罗盘方向。首向值按从基本方向(北)起的角度(顺时针)进行测量。如果地图尚未初始化,则结果为 undefined
getMapTypeId
getMapTypeId()
参数:无
返回值MapTypeId|string|undefined
getProjection
getProjection()
参数:无
返回值Projection|undefined
返回当前 Projection。如果地图尚未初始化,则结果为 undefined。监听 projection_changed 事件并检查其值,以确保它不是 undefined
getRenderingType
getRenderingType()
参数:无
返回值RenderingType
返回地图的当前 RenderingType。
getStreetView
getStreetView()
参数:无
返回值StreetViewPanorama 与地图绑定的全景图片。
用于返回与地图绑定的默认 StreetViewPanorama,它可以是嵌入地图的默认全景图片,也可以是使用 setStreetView() 设置的全景图片。对地图的 streetViewControl 的更改将反映在此类绑定全景图像的显示中。
getTilt
getTilt()
参数:无
返回值number|undefined
用于返回地图的当前入射角,以度为单位,从视口平面到地图平面。对于光栅地图,在直接使用图像时,结果将是 0,对于 45° 图像,将是 45。此方法不会返回 setTilt 设置的值。如需了解详情,请参阅 setTilt
getZoom
getZoom()
参数:无
返回值number|undefined
返回地图的缩放比例。如果未设置缩放,则结果为 undefined
moveCamera
moveCamera(cameraOptions)
参数
返回值:无
将地图的相机立即设置为目标相机选项,不带动画。
panBy
panBy(x, y)
参数
  • xnumber 沿 x 方向移动地图的像素数。
  • ynumber 沿 y 方向移动地图所需的像素数。
返回值:无
将地图中心移动一段指定的距离(以像素为单位)。如果这段距离既小于地图的宽度,又小于地图的高度,那么移动的动画效果将会十分流畅。请注意,地图坐标系的 x 值从西向东增加,y 值从北向南增加。
panTo
panTo(latLng)
参数
返回值:无
将地图的中心更改为指定的 LatLng。如果更改幅度既小于地图的宽度,又小于地图的高度,那么移动的动画效果将会十分流畅。
panToBounds
panToBounds(latLngBounds[, padding])
参数
  • latLngBoundsLatLngBounds|LatLngBoundsLiteral要将地图平移到的边界。
  • paddingnumber|Padding optional 内边距(以像素为单位)。数字值在所有 4 面上产生相同的内边距。默认值为 0。
返回值:无
将地图平移所需的最小距离以包含指定的 LatLngBounds。它无法保证地图上显示的边界,只是将地图平移到 {currentMapSizeInPx} - {padding} 内显示尽可能多的边界。对于光栅地图和矢量地图,地图的缩放、倾斜度和方向均不会改变。
setCenter
setCenter(latlng)
参数
返回值:无
setClickableIcons
setClickableIcons(value)
参数
  • valueboolean
返回值:无
控制地图图标是否可点击。地图图标表示地图注点,也称为地图注点。若要停用地图图标的可点击性,请向此方法传递 false 值。
setHeading
setHeading(heading)
参数
  • headingnumber
返回值:无
设置地图的基本方向(以相对于北方的方向测量),以度为单位。对于光栅地图,此方法仅适用于航拍图像。
setMapTypeId
setMapTypeId(mapTypeId)
参数
返回值:无
setOptions
setOptions(options)
参数
返回值:无
setStreetView
setStreetView(panorama)
参数
返回值:无
StreetViewPanorama 绑定到地图。此全景图片将替换默认的 StreetViewPanorama,允许地图绑定到地图以外的外部全景图片。将全景图片设置为 null 可将默认的嵌入式全景图片绑定到地图。
setTilt
setTilt(tilt)
参数
  • tiltnumber
返回值:无
对于矢量地图,设置地图的入射角。允许的值将根据地图的缩放级别进行限制。对于光栅地图,控制地图入射角的自动切换行为。唯一允许的值是 045setTilt(0) 会使地图始终使用 0° 俯视图,无论缩放级别和视口如何。如果当前缩放级别和视口有 45° 角航拍图像,setTilt(45) 会使倾斜度自动切换为 45° 角;每当 45° 角航拍图像不可用时,就会倾斜回 0(这是默认行为)。45° 角航拍图像仅适用于satellitehybrid地图类型,在某些位置,以及某些缩放级别。注意getTilt 会返回当前倾斜角度,而不是由 setTilt 设置的值。由于 getTiltsetTilt 指的是不同的内容,因此请勿对 tilt 属性执行 bind() 操作,否则可能会产生不可预知的影响。
setZoom
setZoom(zoom)
参数
  • zoomnumber更大的缩放值对应更高的分辨率。
返回值:无
设置地图的缩放比例。
继承的设置addListenerbindTogetnotifysetsetValuesunbindunbindAll
bounds_changed
function()
参数:None
当可视区域范围更改时会触发此事件。
center_changed
function()
参数:None
当地图中心属性更改时会触发此事件。
click
function(event)
参数
用户点击地图时会触发此事件。系统会返回一个具有已点击地点属性的 MapMouseEvent,除非已点击地点图标(在这种情况下会返回具有地点 ID 的 IconMouseEvent)。IconMouseEvent 与 MapMouseEvent 相同,只是 IconMouseEvent 具有地点 ID 字段。如果地点 ID 不重要,则始终可将事件视为 MapMouseEvent。当用户点击标记或信息窗口时,不会触发点击事件。
contextmenu
function(event)
参数
在地图容器中触发 DOM contextmenu 事件时会触发此事件。
dblclick
function(event)
参数
当用户双击地图时会触发此事件。请注意,触发此事件前还会触发点击事件。
drag
function()
参数:None
当用户拖动地图时会反复触发此事件。
dragend
function()
参数:None
当用户停止拖动地图时会触发此事件。
dragstart
function()
参数:None
当用户开始拖动地图时会触发此事件。
heading_changed
function()
参数:None
当地图方向属性更改时会触发此事件。
idle
function()
参数:None
如果地图在平移或缩放之后变为闲置状态,则会触发此事件。
isfractionalzoomenabled_changed
function()
参数:None
isFractionalZoomEnabled 属性更改时会触发此事件。
maptypeid_changed
function()
参数:None
当 mapTypeId 属性更改时会触发此事件。
mousemove
function(event)
参数
只要用户的鼠标在地图容器上移动,就会触发此事件。
mouseout
function(event)
参数
当用户的鼠标从地图容器上退出时会触发此事件。
mouseover
function(event)
参数
当用户的鼠标进入地图容器时会触发此事件。
projection_changed
function()
参数:None
当投影更改时会触发此事件。
renderingtype_changed
function()
参数:None
renderType 发生变化时触发。
tilesloaded
function()
参数:None
可见图块载入完成后会触发此事件。
tilt_changed
function()
参数:None
当地图倾斜属性更改时会触发此事件。
zoom_changed
function()
参数:None
当地图缩放属性更改时会触发此事件。
rightclick
function(event)
参数
当用户右键点击地图时会触发此事件。

MapOptions 接口

google.maps.MapOptions接口

MapOptions 对象,用于定义可在地图上设置的属性。

backgroundColor optional
类型string optional
用作地图 div 的背景颜色。当用户尚未平移图块时,此颜色将可见。仅在启动地图时,才能设置此选项。
center optional
类型LatLng|LatLngLiteral optional
初始的地图中心。
clickableIcons optional
类型boolean optional
默认true
设置为 false 时,无法点击地图图标。地图图标表示地图注点,也称为地图注点。
controlSize optional
类型number optional
地图上显示的控件的大小(以像素为单位)。该值必须在创建地图时直接提供,以后更新此值可能会使控件进入 undefined 状态。仅控制 Maps API 本身执行的控件。不扩缩开发者创建的自定义控件。
disableDefaultUI optional
类型boolean optional
启用/停用所有默认界面按钮。可以单独替换。不会停用由 MapOptions.keyboardShortcuts 选项单独控制的键盘控件。不会停用由 MapOptions.gestureHandling 选项单独控制的手势控件。
disableDoubleClickZoom optional
类型boolean optional
启用/停用在双击时缩放并居中。默认处于启用状态。

注意不建议使用此属性。如需停用双击缩放功能,您可以使用 gestureHandling 属性并将其设置为 "none"

draggable optional
类型boolean optional
如果为 false,则禁止拖动地图。默认情况下启用拖动。
draggableCursor optional
类型string optional
将鼠标悬停在可拖动地图上时,将显示的光标的名称或网址。此属性使用 CSS cursor 属性来更改图标。与 css 属性一样,您必须至少指定一个不是网址的后备游标。例如:draggableCursor: 'url(http://www.example.com/icon.png), auto;'
draggingCursor optional
类型string optional
拖动地图时显示的光标的名称或网址。此属性使用 CSS cursor 属性来更改图标。与 css 属性一样,您必须至少指定一个不是网址的后备游标。例如:draggingCursor: 'url(http://www.example.com/icon.png), auto;'
fullscreenControl optional
类型boolean optional
全屏控件的启用/停用状态。
fullscreenControlOptions optional
类型FullscreenControlOptions optional
全屏控件的显示选项。
gestureHandling optional
类型string optional
此设置用于控制 API 如何处理地图上的手势。允许的值:
  • "cooperative":滚动事件和单指触摸手势可滚动页面,且不会缩放或平移地图。双指触摸手势平移和缩放地图。按住 Ctrl 键或 ⌘ 键滚动事件即可缩放地图。
    在此模式下,地图会与页面配合
  • "greedy":所有轻触手势和滚动事件都会平移或缩放地图。
  • "none":用户手势无法平移或缩放地图。
  • "auto":(默认)手势处理要么是合作式,要么是贪兴型,具体取决于页面是可滚动的还是位于 iframe 中。
heading optional
类型number optional
航拍图像的方向值按顺时针方向计算(以度为单位),基本方向为北方。方向会与可以查看到图像的距离最近的可用角度相对齐。
isFractionalZoomEnabled optional
类型boolean optional
默认true(适用于矢量地图)和 false(适用于光栅地图)
地图是否应允许使用小数缩放级别。监听 isfractionalzoomenabled_changed 以了解何时设置了默认值。
keyboardShortcuts optional
类型boolean optional
如果为 false,则禁止通过键盘控制地图。默认情况下启用键盘快捷键。
mapId optional
类型string optional
地图的地图 ID。不能在实例化地图后设置或更改此参数。
mapTypeControl optional
类型boolean optional
地图类型控件的初始启用/停用状态。
mapTypeControlOptions optional
类型MapTypeControlOptions optional
地图类型控件的初始显示选项。
mapTypeId optional
类型MapTypeId|string optional
初始 Map mapTypeId。默认为 ROADMAP
maxZoom optional
类型number optional
将会在地图上显示的最大缩放级别。如果省略或设为null,系统会改为使用当前地图类型的最大缩放级别。有效缩放级别的值是从零到支持的最大缩放级别的数字。
minZoom optional
类型number optional
将会在地图上显示的最小缩放级别。如果省略或设为null,系统会改为使用当前地图类型的最小缩放级别。有效缩放级别的值是从零到支持的最大缩放级别的数字。
noClear optional
类型boolean optional
如果为 true,请勿清除地图 div 的内容。
panControl optional
类型boolean optional
平移控件的启用/停用状态。

注意:在 Google Maps JavaScript API v3.22 中引入的新控件集中,平移控件不可用。使用 v3.22 和 v3.23 时,您可以选择使用前一组控件,而不使用新控件,因此这些平移控件将作为旧控件集的一部分提供。请参阅 v3.22 地图控件的新变化

panControlOptions optional
类型PanControlOptions optional
平移控件的显示选项。

注意:在 Google Maps JavaScript API v3.22 中引入的新控件集中,平移控件不可用。使用 v3.22 和 v3.23 时,您可以选择使用前一组控件,而不使用新控件,因此这些平移控件将作为旧控件集的一部分提供。请参阅 v3.22 地图控件的新变化

restriction optional
类型MapRestriction optional
定义边界,用于限制用户可访问的地图区域。设置后,用户只能在相机视图保持在边界之内时进行平移和缩放。
rotateControl optional
类型boolean optional
旋转控件的启用/停用状态。
rotateControlOptions optional
类型RotateControlOptions optional
旋转控件的显示选项。
scaleControl optional
类型boolean optional
比例控件的初始启用/停用状态。
scaleControlOptions optional
类型ScaleControlOptions optional
比例控件的初始显示选项。
scrollwheel optional
类型boolean optional
如果为 false,则会停用使用鼠标滚轮缩放地图的功能。滚轮默认处于启用状态。

注意不建议使用此属性。若要使用滚轮停用缩放功能,您可以使用 gestureHandling 属性,并将其设置为 "cooperative""none"

streetView optional
类型StreetViewPanorama optional
将街景小人拖放到地图上时显示的 StreetViewPanorama。如果未指定全景图片,则拖放街景小人时,StreetViewPanorama将显示在地图的 div 中。
streetViewControl optional
类型boolean optional
街景小人控件的初始启用/停用状态。此控件是默认界面的一部分,在显示不应显示街景道路叠加层的地图类型(例如非地球地图类型)时,应将其设置为false
streetViewControlOptions optional
类型StreetViewControlOptions optional
Street View 街景小人控件的初始显示选项。
styles optional
类型Array<MapTypeStyle> optional
要应用到每个默认地图类型的样式。请注意,对于 satellite/hybridterrain 模式,这些样式将仅应用于标签和几何图形。
tilt optional
类型number optional
对于矢量地图,设置地图的入射角。允许的值将根据地图的缩放级别进行限制。对于光栅地图,控制地图入射角的自动切换行为。唯一允许的值是 045。无论缩放级别和视口如何,值 0 都会使地图始终使用 0° 俯视图。值 45 可使倾斜角度在当前的缩放级别和视口可用 45° 图像时自动切换到 45° 角,每当 45° 图像不可用时就会切换回 05(这是默认行为)。45° 角航拍图像仅适用于satellitehybrid地图类型,在某些位置,以及某些缩放级别。注意getTilt 会返回当前的倾斜角度,而不是此选项指定的值。由于 getTilt 和此选项指的是不同的内容,因此请勿对 tilt 属性执行 bind() 操作,否则可能会产生不可预知的影响。
zoom optional
类型number optional
地图的初始缩放级别。有效缩放级别的值是从零到支持的最大缩放级别的数字。缩放级别越大,分辨率越高。
zoomControl optional
类型boolean optional
缩放控件的启用/停用状态。
zoomControlOptions optional
类型ZoomControlOptions optional
缩放控件的显示选项。

MapTypeStyle 接口

google.maps.MapTypeStyle接口

MapTypeStyle 是选择器和样式器的集合,用于定义应如何设置地图样式。选择器用于指定受影响的地图项和/或元素,样式器用于指定应如何修改这些地图项和元素。如需了解详情,请参阅样式参考

stylers
类型Array<Object>
要应用到所选地图项和元素的样式规则。这些规则将按照您在此数组中指定的顺序进行应用。如需获得关于用法和允许的值的准则,请参阅样式参考
elementType optional
类型string optional
要应用样式器的元素。元素是地图上的地图项的视觉方面。示例:标签、图标、应用于几何图形的描边或填充等。(可选)如果未指定 elementType,系统会假定该值为 'all'。如需详细了解用法和允许的值,请参阅样式参考
featureType optional
类型string optional
应为其应用样式器的地图项或地图项组。(可选)如果未指定 featureType,系统会假定该值为 'all'。如需详细了解用法和允许的值,请参阅样式参考

MapMouseEvent 接口

google.maps.MapMouseEvent接口

此对象由地图和叠加层上的各种鼠标事件返回,包含如下所示的所有字段。

domEvent
类型MouseEvent|TouchEvent|PointerEvent|KeyboardEvent|Event
对应的原生 DOM 事件。开发者不应依赖已定义的 targetcurrentTargetrelatedTargetpath 属性。开发者还不应依赖 Maps API 内部实现的 DOM 结构。由于内部事件映射,domEvent 的语义可能与 MapMouseEvent 不同(例如,MapMouseEvent“点击”的 domEvent 可能类型为 KeyboardEvent)。
latLng
类型LatLng
发生事件时在光标下方显示的纬度/经度。
stop
stop()
参数:无
返回值:无
防止此事件进一步传播。

IconMouseEvent 接口

google.maps.IconMouseEvent接口

当用户点击地图上的图标时,系统会在此事件中发送此对象。此地点的地点 ID 存储在 placeId 成员中。要防止显示默认信息窗口,请对此事件调用 stop() 方法,以防止其传播。详细了解 Places API 开发者指南中的地点 ID

此接口扩展了 MapMouseEvent

placeId optional
类型string optional
获得点击的地点的地点 ID。地点 ID 可用于查询有关所点击地图项的更多信息。

详细了解 Places API 开发者指南中的地点 ID

继承的设置domEventlatLng
继承的设置stop

MapTypeId 常量

google.maps.MapTypeId 常量

常见 MapType 的标识符。可以按值或使用常量名称指定这些值。例如,'satellite'google.maps.MapTypeId.SATELLITE

HYBRID 该地图类型显示卫星图像上的主要街道透明层。
ROADMAP 该地图类型显示普通的街道地图。
SATELLITE 该地图类型显示卫星图像。
TERRAIN 该地图类型显示带有自然特征(如地形和植被)的地图。

MapTypeRegistry

google.maps.MapTypeRegistry

MapType 实例的注册表,由 MapType ID 键控。

此类扩展了 MVCObject

MapTypeRegistry
MapTypeRegistry()
参数:无
MapTypeRegistry 包含可供地图使用的自定义地图类型的集合。例如,API 在提供控件内可用地图类型的列表时会参考此注册表。
set
set(id, mapType)
参数
  • idstring 要添加到注册表的 MapType 的标识符。
  • mapType:要添加到注册表的 MapType|* MapType 对象。
返回值:无
设置注册表以将传递的字符串标识符与传递的 MapType 相关联。
继承的设置addListenerbindTogetnotifysetValuesunbindunbindAll

MapRestriction 接口

google.maps.MapRestriction接口

可应用于地图的限制。地图的视口不会超出这些限制。

latLngBounds
设置完毕后,用户只能在指定边界内进行平移和缩放。边界可以限制经度和纬度,或仅限制纬度。对于仅包含纬度的边界,分别使用 -180 和 180 的西经和经度,例如 latLngBounds: {north: northLat, south: southLat, west: -180, east: 180}
strictBounds optional
类型boolean optional
通过将 strictBounds 标志设置为 true,可以进一步限制边界。这样可以缩短用户能够缩小的范围,确保超出限制范围的所有内容都保持隐藏状态。默认值为 false,这意味着用户可以缩小范围,直到整个有界区域进入视野,其中可能包括该有界区域以外的区域。

TrafficLayer

google.maps.TrafficLayer

路况图层。

此类扩展了 MVCObject

TrafficLayer
TrafficLayer([opts])
参数
显示当前路况的图层。
getMap
getMap()
参数:无
返回值Map
传回在其上显示此图层的地图。
setMap
setMap(map)
参数
返回值:无
在指定地图上渲染此图层。如果地图设置为null,该图层将被移除。
setOptions
setOptions(options)
参数
返回值:无
继承的设置addListenerbindTogetnotifysetsetValuesunbindunbindAll

TrafficLayerOptions 接口

google.maps.TrafficLayerOptions接口

TrafficLayerOptions 对象,用于定义可在 TrafficLayer 上设置的属性。

autoRefresh optional
类型boolean optional
默认true
路况图层是否会自动使用更新后的信息进行刷新。
map optional
类型Map optional
要在其上显示路况图层的地图。

TransitLayer

google.maps.TransitLayer

公交图层。

此类扩展了 MVCObject

TransitLayer
TransitLayer()
参数:无
显示公交线路的图层。
getMap
getMap()
参数:无
返回值Map
传回在其上显示此图层的地图。
setMap
setMap(map)
参数
返回值:无
在指定地图上渲染此图层。如果地图设置为null,该图层将被移除。
继承的设置addListenerbindTogetnotifysetsetValuesunbindunbindAll

BicyclingLayer

google.maps.BicyclingLayer

显示自行车道和路径的图层。

此类扩展了 MVCObject

BicyclingLayer
BicyclingLayer()
参数:无
显示自行车道和路径并表示大型道路的图层。
getMap
getMap()
参数:无
返回值Map
传回在其上显示此图层的地图。
setMap
setMap(map)
参数
返回值:无
在指定地图上渲染此图层。如果地图设置为null,该图层将被移除。
继承的设置addListenerbindTogetnotifysetsetValuesunbindunbindAll

CameraOptions 接口

google.maps.CameraOptions接口

用于设置地图的相机选项。

center optional
类型LatLngLiteral|LatLng optional
heading optional
类型number optional
tilt optional
类型number optional
zoom optional
类型number optional

VisibleRegion 接口

google.maps.VisibleRegion接口

包含四个点,用于定义四边形多边形,即多边形的可见区域。在矢量地图上,当矢量地图倾斜时,此多边形可以是梯形而不是矩形。

farLeft
类型LatLng
farRight
类型LatLng
latLngBounds
类型LatLngBounds
包含可见区域的最小边界框。
nearLeft
类型LatLng
nearRight
类型LatLng

RenderingType 常量

google.maps.RenderingType 常量

RASTER 表示地图为光栅地图。
UNINITIALIZED 表示还不知道地图是矢量还是光栅,因为地图尚未完成初始化。
VECTOR 表示地图是矢量地图。