Maps

MapElement 类

class google.maps.MapElement extends HTMLElement implements MapElementOptions
library "maps"

MapElement 是用于渲染地图的 HTMLElement 子类。加载 maps 库后,您可以在 HTML 中创建地图。例如:

<gmp-map center="37.4220656,-122.0840897" zoom="10" map-id="DEMO_MAP_ID">
  <button slot="control-block-start-inline-end">Custom Control</button>
</gmp-map>

在内部,它使用 Map,可通过 MapElement.innerMap 属性访问。

<gmp-map
  center="lat,lng"
  heading-interaction-disabled
  internal-usage-attribution-ids="id1 id2"
  map-id="string"
  rendering-type="value-name"
  tilt-interaction-disabled
  zoom="number">
</gmp-map>
const {MapElement} = await google.maps.importLibrary("maps");
MapElement
MapElement([options])
参数:
center
attr: center
类型:LatLng|LatLngLiteral optional
地图的中心纬度/经度。
HTML 属性: center="lat,lng"
headingInteractionDisabled
attr: heading-interaction-disabled
类型:boolean optional
默认值:false
地图是否应允许用户控制镜头朝向(旋转)。此选项仅在地图为矢量地图时生效。如果未在代码中设置,则系统将使用地图 ID 的云配置(如果有)。
HTML 属性: heading-interaction-disabled
innerMap
类型:Map
对 MapElement 在内部使用的 Map 的引用。
internalUsageAttributionIds
attr: internal-usage-attribution-ids
输入类型: Iterable<string> optional
输出类型: Array<string> optional
默认值:null
向初始化程序添加使用情况归因 ID,这有助于 Google 了解哪些库和示例对开发者有帮助,例如标记聚类器库的使用情况。如需选择不发送使用情况归因 ID,您可以放心地删除此属性或将值替换为空字符串。系统只会发送唯一值。实例化后对此值所做的更改可能会被忽略。
HTML 属性: internal-usage-attribution-ids="id1 id2"
mapId
attr: map-id
类型:string optional
地图的地图 ID。地图实例化后,便无法设置或更改此参数。Map.DEMO_MAP_ID 可用于试用需要地图 ID 但不需要启用云端的功能。
HTML 属性: map-id="string"
renderingType
attr: rendering-type
类型:RenderingType optional
地图应为光栅地图还是矢量地图。地图实例化后,便无法设置或更改此参数。如果未设置,则地图 ID 的云配置将决定渲染类型(如果可用)。请注意,矢量地图可能不适用于所有设备和浏览器,地图会根据需要回退为光栅地图。
HTML 属性: rendering-type="value-name"
tiltInteractionDisabled
attr: tilt-interaction-disabled
类型:boolean optional
默认值:false
地图是否应允许用户控制镜头倾斜度。此选项仅在地图为矢量地图时生效。如果未在代码中设置,则系统将使用地图 ID 的云配置(如果有)。
HTML 属性: tilt-interaction-disabled
zoom
attr: zoom
类型:number optional
地图的缩放级别。有效的缩放值是从 0 到支持的最大缩放级别之间的数字。缩放值越大,分辨率越高。
HTML 属性: zoom="number"
control-block-end-inline-center
将插槽元素放置在 ControlPosition.BLOCK_END_INLINE_CENTER 位置。
control-block-end-inline-end
将插槽元素放置在 ControlPosition.BLOCK_END_INLINE_END 位置。
control-block-end-inline-start
将插槽元素放置在 ControlPosition.BLOCK_END_INLINE_START 位置。
control-block-start-inline-center
将插槽元素放置在 ControlPosition.BLOCK_START_INLINE_CENTER 位置。
control-block-start-inline-end
将插槽元素放置在 ControlPosition.BLOCK_START_INLINE_END 位置。
control-block-start-inline-start
将插槽元素放置在 ControlPosition.BLOCK_START_INLINE_START 位置。
control-inline-end-block-center
将插槽元素放置在 ControlPosition.INLINE_END_BLOCK_CENTER 位置。
control-inline-end-block-end
将插槽元素放置在 ControlPosition.INLINE_END_BLOCK_END 位置。
control-inline-end-block-start
将插槽元素放置在 ControlPosition.INLINE_END_BLOCK_START 位置。
control-inline-start-block-center
将插槽元素放置在 ControlPosition.INLINE_START_BLOCK_CENTER 位置。
control-inline-start-block-end
将插槽元素放置在 ControlPosition.INLINE_START_BLOCK_END 位置。
control-inline-start-block-start
将插槽元素放置在 ControlPosition.INLINE_START_BLOCK_START 位置。
default
您可以使用自定义元素围绕 Maps JavaScript Web 组件(例如 AdvancedMarkerElement)创建可重复使用的组件。默认情况下,直接添加到 MapElement 的任何自定义元素都将在 MapPanes.overlayMouseTarget 中进行插槽和渲染。不过,Maps JavaScript API Web 组件可能会重新插入到 MapElement 的内部槽中。
继承的方法: addEventListener、removeEventListener
gmp-zoomchange
function(event)
参数:
当地图缩放属性更改时会触发此事件。

MapElementOptions 接口

接口 google.maps.MapElementOptions
由 MapElement 实现

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

center
可选
类型:LatLng|LatLngLiteral optional
请参阅 MapElement.center。
headingInteractionDisabled
可选
类型:boolean optional
internalUsageAttributionIds
可选
类型:Iterable<string> optional
mapId
可选
类型:string optional
请参阅 MapElement.mapId。
renderingType
可选
类型:RenderingType optional
tiltInteractionDisabled
可选
类型:boolean optional
zoom
可选
类型:number optional
请参阅 MapElement.zoom。

ZoomChangeEvent 类

class google.maps.ZoomChangeEvent extends Event
library "maps"

此事件是通过监控缩放更改创建的。

const {ZoomChangeEvent} = await google.maps.importLibrary("maps");

Map 类

class google.maps.Map extends MVCObject
library "maps"

const {Map} = await google.maps.importLibrary("maps");
Map
Map(mapDiv[, opts])
参数:
在指定 HTML 容器(通常是 DIV 元素)中创建新地图。
DEMO_MAP_ID 地图 ID,可用于需要地图 ID 的代码示例。此地图 ID 不适用于生产应用,也不能用于需要云端配置的功能(例如云端样式设置)。
controls
附加到地图的其他控件。如需向地图添加控件,请将控件的 <div> 添加到与应呈现该控件的 ControlPosition 对应的 MVCArray。
data
类型:Data
Data 的实例,绑定到地图。向此 Data 对象添加地图项,以便在此地图上轻松显示这些地图项。
mapTypes
按字符串 ID 注册 MapType 实例。
overlayMapTypes
类型:MVCArray<MapType optional>
要叠加的其他地图类型。叠加层地图类型将按照在 overlayMapTypes 数组中出现的顺序,在其附加到的基本地图上叠加显示(叠加层的索引值越高,显示位置就越靠前)。
fitBounds
fitBounds(bounds[, padding])
参数:
  • bounds: LatLngBounds|LatLngBoundsLiteral 个边界可显示。
  • padding: number|Padding optional内边距(以像素为单位)。边界将适应移除内边距后剩余的地图部分。一个数字值将在所有 4 个边上产生相同的内边距。在此处提供 0 可使 fitBounds 在 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
返回地图图标的可点击性。地图图标代表地图注点(也称为 POI)。如果返回的值为 true,则图标在地图上可点击。
BetagetDatasetFeatureLayer
getDatasetFeatureLayer(datasetId)
参数:
  • datasetId: string
返回值:FeatureLayer
返回指定 datasetId 的 FeatureLayer。数据集 ID 必须在 Google Cloud 控制台中配置。如果数据集 ID 未与地图的地图样式相关联,或者数据驱动型样式不可用(地图样式中未配置地图 ID、矢量图块、数据驱动型样式地图项图层或数据集),则会记录错误,并且生成的 FeatureLayer.isAvailable 将为 false。
getDiv
getDiv()
参数:无
返回值: HTMLElement地图的 mapDiv。
getFeatureLayer
getFeatureLayer(featureType)
参数:
返回值:FeatureLayer
返回特定 FeatureType 的 FeatureLayer。必须在 Google Cloud 控制台中启用 FeatureLayer。如果此地图上不存在指定 FeatureType 的 FeatureLayer,或者数据驱动型样式不可用(地图样式中未启用地图 ID、矢量图块和 FeatureLayer),则会记录错误,并且生成的 FeatureLayer.isAvailable 将为 false。
getHeading
getHeading()
参数:无
返回值:number|undefined
返回地图的罗盘朝向。朝向值以与正北方向所呈顺时针角度(以度为单位)来测量。如果映射尚未初始化,则结果为 undefined。
getHeadingInteractionEnabled
getHeadingInteractionEnabled()
参数:无
返回值:boolean|null
返回是否已启用标题互动。此选项仅在地图为矢量地图时生效。如果未在代码中设置,则系统将使用地图 ID 的云配置(如果有)。
getInternalUsageAttributionIds
getInternalUsageAttributionIds()
参数:无
返回值:Iterable<string>|null
返回使用情况归因 ID 列表,这些 ID 可帮助 Google 了解哪些库和示例对开发者有帮助,例如标记聚类器库的使用情况。
getMapCapabilities
getMapCapabilities()
参数:无
返回值:MapCapabilities
根据提供的地图 ID,向调用方告知地图当前可用的功能。
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。
getTiltInteractionEnabled
getTiltInteractionEnabled()
参数:无
返回值:boolean|null
返回是否已启用倾斜互动。此选项仅在地图为矢量地图时生效。如果未在代码中设置,则系统将使用地图 ID 的云配置(如果有)。
getZoom
getZoom()
参数:无
返回值:number|undefined
返回地图的缩放级别。如果未设置缩放级别,则结果为 undefined。
moveCamera
moveCamera(cameraOptions)
参数:
返回值:无
立即将地图的镜头设置为目标镜头选项,不使用动画。
panBy
panBy(x, y)
参数:
  • x: number 地图在 x 方向上移动的像素数。
  • y: number 地图在 y 方向上移动的像素数。
返回值:无
将地图中心移动一段指定的距离(以像素为单位)。如果这段距离既小于地图的宽度,又小于地图的高度,那么移动的动画效果将会十分流畅。请注意,地图坐标系的 x 值从西向东增加,y 值从北向南增加。
panTo
panTo(latLng)
参数:
返回值:无
将地图中心更改为给定的 LatLng。如果更改幅度既小于地图的宽度,又小于地图的高度,那么移动的动画效果将会十分流畅。
panToBounds
panToBounds(latLngBounds[, padding])
参数:
  • latLngBounds: LatLngBounds|LatLngBoundsLiteral 地图要平移到的边界。
  • padding: number|Padding optional内边距(以像素为单位)。一个数字值将在所有 4 个边上产生相同的内边距。默认值为 0。
返回值:无
以包含给定 LatLngBounds 所需的最小量平移地图。它不保证边界在地图上的位置,但会平移地图,以在 {currentMapSizeInPx} - {padding} 内尽可能多地显示边界。对于光栅地图和矢量地图,地图的缩放、倾斜和方向都不会改变。
setCenter
setCenter(latlng)
参数:
返回值:无
setClickableIcons
setClickableIcons(value)
参数:
  • value: boolean
返回值:无
控制地图图标是否可点击。地图图标代表地图注点(也称为 POI)。如需停用地图图标的可点击性,请向此方法传递 false 值。
setHeading
setHeading(heading)
参数:
  • heading: number
返回值:无
设置地图的罗盘航向角,以相对于正北方的角度来表示。对于光栅地图,此方法仅适用于航拍图像。
setHeadingInteractionEnabled
setHeadingInteractionEnabled(headingInteractionEnabled)
参数:
  • headingInteractionEnabled: boolean
返回值:无
设置是否启用标题互动。此选项仅在地图为矢量地图时生效。如果未在代码中设置,则系统将使用地图 ID 的云配置(如果有)。
setMapTypeId
setMapTypeId(mapTypeId)
参数:
返回值:无
setOptions
setOptions(options)
参数:
返回值:无
setRenderingType
setRenderingType(renderingType)
参数:
返回值:无
设置地图的当前 RenderingType。
setStreetView
setStreetView(panorama)
参数:
返回值:无
将 StreetViewPanorama 绑定到地图。此全景图片会替换默认的 StreetViewPanorama,从而允许地图绑定到地图外部的全景图片。将全景图片设置为 null 会将默认嵌入式全景图片重新绑定到地图。
setTilt
setTilt(tilt)
参数:
  • tilt: number
返回值:无
对于矢量地图,设置地图的倾斜角度。允许的值会根据地图的缩放级别而受到限制。

对于光栅地图,控制地图入射角的自动切换行为。唯一允许的值是 0 和 45。setTilt(0) 会使地图始终使用 0° 俯视图,无论缩放级别和视口如何。setTilt(45) 会导致倾斜角度在当前缩放级别和视口有 45° 角航拍图像时自动切换为 45,在没有 45° 角航拍图像时自动切换回 0(这是默认行为)。45° 角航拍图像仅适用于 satellite 和 hybrid 地图类型,且仅在部分位置和部分缩放级别下提供。注意: getTilt 会返回当前倾斜角度,而不是 setTilt 设置的值。由于 getTilt 和 setTilt 指代不同的内容,因此请勿 bind() tilt 属性;否则可能会产生不可预测的影响。
setTiltInteractionEnabled
setTiltInteractionEnabled(tiltInteractionEnabled)
参数:
  • tiltInteractionEnabled: boolean
返回值:无
设置是否启用倾斜互动。此选项仅在地图为矢量地图时生效。如果未在代码中设置,则系统将使用地图 ID 的云配置(如果有)。
setZoom
setZoom(zoom)
参数:
  • zoom: number缩放值越大,分辨率越高。
返回值:无
设置地图的缩放级别。
继承的方法: addListener、bindTo、get、notify、set、setValues、unbind、unbindAll
bounds_changed
function()
参数:无
当可视区域范围更改时会触发此事件。
center_changed
function()
参数:无
当地图中心属性更改时会触发此事件。
click
function(event)
参数:
当用户点击地图时,系统会触发此事件。系统会返回一个 MapMouseEvent,其中包含所点击位置的属性,除非点击的是地点图标,在这种情况下,系统会返回一个包含地点 ID 的 IconMouseEvent。IconMouseEvent 和 MapMouseEvent 完全相同,只是 IconMouseEvent 具有地点 ID 字段。如果地点 ID 不重要,则该事件始终可以被视为 MapMouseEvent。如果用户点击了标记或信息窗口,则不会触发点击事件。
contextmenu
function(event)
参数:
在地图容器中触发 DOM contextmenu 事件时会触发此事件。
dblclick
function(event)
参数:
当用户双击地图时,系统会触发此事件。请注意,点击事件有时会触发一次,有时会触发两次,就在此事件之前。
drag
function()
参数:无
当用户拖动地图时会反复触发此事件。
dragend
function()
参数:无
当用户停止拖动地图时,系统会触发此事件。注意:当用户停止使用键盘平移地图时,不会触发 dragend。请改用 Map.idle 事件,以确定用户何时停止平移或拖动地图。
dragstart
function()
参数:无
当用户开始拖动地图时会触发此事件。
heading_changed
function()
参数:无
当地图方向属性更改时会触发此事件。
idle
function()
参数:无
如果地图在平移或缩放之后变为闲置状态,则会触发此事件。
isfractionalzoomenabled_changed
function()
参数:无
当 isFractionalZoomEnabled 属性发生更改时,会触发此事件。
mapcapabilities_changed
function()
参数:无
当地图功能发生变化时,会触发此事件。
maptypeid_changed
function()
参数:无
当 mapTypeId 属性更改时会触发此事件。
mousemove
function(event)
参数:
只要用户的鼠标在地图容器上移动,就会触发此事件。
mouseout
function(event)
参数:
当用户的鼠标从地图容器上退出时会触发此事件。
mouseover
function(event)
参数:
当用户的鼠标进入地图容器时会触发此事件。
projection_changed
function()
参数:无
当投影更改时会触发此事件。
renderingtype_changed
function()
参数:无
当 renderingType 发生更改时,会触发此事件。
tilesloaded
function()
参数:无
可见图块载入完成后会触发此事件。
tilt_changed
function()
参数:无
当地图倾斜属性更改时会触发此事件。
zoom_changed
function()
参数:无
当地图缩放属性更改时会触发此事件。
rightclick
function(event)
参数:
当用户右键点击地图时,系统会触发此事件。

MapOptions 接口

接口 google.maps.MapOptions

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

backgroundColor
可选
类型:string optional
用于地图 div 背景的颜色。当用户平移地图而图块尚未完成加载时,将显示此颜色。仅在启动地图时,才能设置此选项。
cameraControl
可选
类型:boolean optional
相机控件的启用/停用状态。
cameraControlOptions
可选
类型:CameraControlOptions optional
相机控件的显示选项。
center
可选
类型:LatLng|LatLngLiteral optional
初始的地图中心。
clickableIcons
可选
类型:boolean optional
默认值:true
如果为 false,则地图图标不可点击。地图图标代表地图注点 (POI)。
colorScheme
可选
类型:ColorScheme|string optional
默认值:ColorScheme.LIGHT
初始地图配色方案。仅在启动地图时,才能设置此选项。
controlSize
可选
类型:number optional
地图上显示的控件的大小(以像素为单位)。此值必须在创建地图时直接提供,稍后更新此值可能会使控件进入 undefined 状态。仅控制由 Maps API 本身创建的控件。不会缩放开发者创建的自定义控件。
disableDefaultUI
可选
类型:boolean optional
启用/停用所有默认界面按钮。可单独替换。不会停用键盘控件,这些控件由 MapOptions.keyboardShortcuts 选项单独控制。不会停用手势控制,手势控制由 MapOptions.gestureHandling 选项单独控制。
disableDoubleClickZoom
可选
类型:boolean optional
启用/停用在双击时缩放并居中。默认处于启用状态。

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

draggable
可选
类型:boolean optional
如果设置为 false,则会阻止通过鼠标和触摸手势拖动和缩放地图。默认情况下启用拖动。
draggableCursor
可选
类型:string optional
鼠标悬停在可拖动地图上时要显示的光标的名称或网址。此属性使用 CSS cursor 属性来更改图标。与 css 属性一样,您必须指定至少一个非网址的后备光标。例如:draggableCursor: 'url(http://www.example.com/icon.png), auto;'。
draggingCursor
可选
类型:string optional
拖动地图时要显示的光标的名称或网址。此属性使用 CSS cursor 属性来更改图标。与 css 属性一样,您必须指定至少一个非网址的后备光标。例如:draggingCursor: 'url(http://www.example.com/icon.png), auto;'。
fullscreenControl
可选
类型:boolean optional
全屏控件的启用/停用状态。
fullscreenControlOptions
可选
类型:FullscreenControlOptions optional
全屏控件的显示选项。
gestureHandling
可选
类型:string optional
此设置用于控制 API 如何处理地图上的手势。允许的值:
  • "cooperative":滚动事件和单指触摸手势会滚动页面,而不会缩放或平移地图。双指触控手势可平移和缩放地图。按住 Ctrl 键或 ⌘ 键并滚动鼠标滚轮可缩放地图。
    在此模式下,地图会与页面协作。
  • "greedy":所有轻触手势和滚动事件都会平移或缩放地图。
  • "none":无法通过用户手势平移或缩放地图。
  • "auto":(默认)手势处理方式为“cooperative”或“greedy”,具体取决于网页是否可滚动或是否位于 iframe 中。
heading
可选
类型:number optional
航拍图像的方向值按顺时针方向计算(以度为单位),基本方向为北方。方向会与可以查看到图像的距离最近的可用角度相对齐。
headingInteractionEnabled
可选
类型:boolean optional
默认值:false
地图是否应允许用户控制镜头朝向(旋转)。此选项仅在地图为矢量地图时生效。如果未在代码中设置,则系统将使用地图 ID 的云配置(如果有)。
internalUsageAttributionIds
可选
类型:Iterable<string> optional
默认值:null
向初始化程序添加使用情况归因 ID,这有助于 Google 了解哪些库和示例对开发者有帮助,例如标记聚类器库的使用情况。如需选择不发送使用情况归因 ID,您可以放心地删除此属性或将值替换为空字符串。系统只会发送唯一值。实例化后对此值所做的更改可能会被忽略。
isFractionalZoomEnabled
可选
类型:boolean optional
默认值:矢量地图为 true,光栅地图为 false
地图是否应允许小数缩放级别。监听 isfractionalzoomenabled_changed,以便了解何时设置了默认值。
keyboardShortcuts
可选
类型:boolean optional
如果为 false,则禁止通过键盘控制地图。默认情况下启用键盘快捷键。
mapId
可选
类型:string optional
地图的地图 ID。地图实例化后,便无法设置或更改此参数。Map.DEMO_MAP_ID 可用于试用需要地图 ID 但不需要启用云端的功能。
mapTypeControl
可选
类型:boolean optional
地图类型控件的初始启用/停用状态。
mapTypeControlOptions
可选
类型:MapTypeControlOptions optional
地图类型控件的初始显示选项。
mapTypeId
可选
类型:MapTypeId|string optional
初始地图 mapTypeId。默认为 ROADMAP。
maxZoom
可选
类型:number optional
将会在地图上显示的最大缩放级别。如果省略或设置为 null,则会改用当前地图类型的最大缩放级别。有效的缩放值是从零到支持的最大缩放级别之间的数字。
minZoom
可选
类型:number optional
将会在地图上显示的最小缩放级别。如果省略或设置为 null,则系统会改用当前地图类型的最小缩放级别。有效的缩放值是从零到支持的最大缩放级别之间的数字。
noClear
可选
类型:boolean optional
如果为 true,请勿清除地图 div 的内容。
panControl
可选
类型:boolean optional
平移控件的启用/停用状态。

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

renderingType
可选
类型:RenderingType optional
地图应为光栅地图还是矢量地图。地图实例化后,便无法设置或更改此参数。如果未设置,则地图 ID 的云配置将决定渲染类型(如果可用)。请注意,矢量地图可能不适用于所有设备和浏览器,地图会根据需要回退为光栅地图。
restriction
可选
类型:MapRestriction optional
定义一个边界,用于限制用户可访问的地图区域。设置后,用户只能在镜头视图保持在边界限制范围内时进行平移和缩放。
rotateControl
可选
类型:boolean optional
旋转控件的启用/停用状态。
rotateControlOptions
可选
类型:RotateControlOptions optional
旋转控件的显示选项。
scaleControl
可选
类型:boolean optional
比例控件的初始启用/停用状态。
scaleControlOptions
可选
类型:ScaleControlOptions optional
比例控件的初始显示选项。
scrollwheel
可选
类型:boolean optional
如果为 false,则停用使用鼠标滚轮缩放地图的功能。默认情况下,滚轮处于启用状态。

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

streetView
可选
类型:StreetViewPanorama optional
当街景小人放置在地图上时显示的 StreetViewPanorama。如果未指定全景图片,则在放置小人时,地图的 div 中会显示默认 StreetViewPanorama。
streetViewControl
可选
类型:boolean optional
街景小人控件的初始启用/停用状态。此控件是默认界面的一部分,在显示不应出现街景道路叠加层的地图类型(例如非地球地图类型)时,应将其设置为 false。
streetViewControlOptions
可选
类型:StreetViewControlOptions optional
Street View 街景小人控件的初始显示选项。
styles
可选
类型:Array<MapTypeStyle> optional
要应用于每种默认地图类型的样式。请注意,对于 satellite/hybrid 和 terrain 模式,这些样式仅适用于标签和几何图形。使用地图 ID 或矢量地图时,此功能不可用(请改用云端地图样式设置)。
tilt
可选
类型:number optional
对于矢量地图,设置地图的倾斜角度。允许的值会根据地图的缩放级别而受到限制。对于光栅地图,控制地图入射角的自动切换行为。唯一允许的值是 0 和 45。值 0 会使地图始终使用 0° 俯视图,无论缩放级别和视口如何。如果值为 45,则只要当前缩放级别和视口有可用的 45° 角航拍图像,倾斜角度就会自动切换为 45°;只要没有可用的 45° 角航拍图像,倾斜角度就会切换回 0°(这是默认行为)。45° 角航拍图像仅适用于 satellite 和 hybrid 地图类型,且仅在部分位置和部分缩放级别下提供。注意:getTilt 会返回当前倾斜角度,而不是此选项指定的值。由于 getTilt 和此选项指的是不同的内容,因此请勿bind() tilt 属性;否则可能会产生不可预测的效果。
tiltInteractionEnabled
可选
类型:boolean optional
默认值:false
地图是否应允许用户控制镜头倾斜度。此选项仅在地图为矢量地图时生效。如果未在代码中设置,则系统将使用地图 ID 的云配置(如果有)。
zoom
可选
类型:number optional
初始地图缩放级别。有效的缩放值是从 0 到支持的最大缩放级别之间的数字。缩放值越大,分辨率越高。
zoomControl
可选
类型:boolean optional
缩放控件的启用/停用状态。
zoomControlOptions
可选
类型:ZoomControlOptions optional
缩放控件的显示选项。

MapTypeStyle 接口

接口 google.maps.MapTypeStyle

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

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

MapMouseEvent 接口

接口 google.maps.MapMouseEvent
由 Data.MouseEvent, FeatureMouseEvent, IconMouseEvent, PolyMouseEvent 扩展

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

domEvent
对应的原生 DOM 事件。开发者不应依赖于 target、currentTarget、relatedTarget 和 path 属性的定义和一致性。开发者也不应依赖地图 API 内部实现的 DOM 结构。由于内部事件映射,domEvent 的语义可能与 MapMouseEvent 不同(例如,MapMouseEvent“点击”可能具有类型为 KeyboardEvent 的 domEvent)。
latLng
可选
类型:LatLng optional
发生事件时在光标下方显示的纬度/经度。
stop
stop()
参数:无
返回值:void
阻止此事件进一步传播。

IconMouseEvent 接口

interface google.maps.IconMouseEvent extends MapMouseEvent

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

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

如需详细了解地点 ID,请参阅 Places API 开发者指南。

继承的方法: domEvent、latLng
继承: stop

ColorScheme 常量

常量 google.maps.ColorScheme
库 "core"

地图配色方案的标识符。按值或使用常量名称指定这些值。例如,'FOLLOW_SYSTEM' 或 google.maps.ColorScheme.FOLLOW_SYSTEM。

这些常量也可以用作字符串。在 TypeScript 中,字符串字面量由 ColorSchemeString 类型定义。

const {ColorScheme} = await google.maps.importLibrary("core");
DARK 地图的深色配色方案。
FOLLOW_SYSTEM 配色方案是根据系统偏好设置选择的,系统偏好设置会在方法执行时检查一次。
LIGHT 地图的浅色配色方案。旧版 Maps JS 的默认值。

MapTypeId 常量

常量 google.maps.MapTypeId
库 "maps"

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

这些常量也可以用作字符串。在 TypeScript 中,字符串字面量由 MapTypeIdString 类型定义。

const {MapTypeId} = await google.maps.importLibrary("maps");
HYBRID 该地图类型显示卫星图像上的主要街道透明层。
ROADMAP 该地图类型显示普通的街道地图。
SATELLITE 该地图类型用于显示卫星图像。
TERRAIN 该地图类型显示带有自然特征(如地形和植被)的地图。

MapTypeRegistry 类

class google.maps.MapTypeRegistry extends MVCObject
library "maps"

MapType 实例的注册表,以 MapType ID 为键。

const {MapTypeRegistry} = await google.maps.importLibrary("maps");
MapTypeRegistry
MapTypeRegistry()
参数:无
MapTypeRegistry 包含可供地图使用的自定义地图类型的集合。例如,当 API 在控件中提供可用地图类型的列表时,会参考此注册表。
set
set(id, mapType)
参数:
  • id: string 要添加到注册表的 MapType 的标识符。
  • 要添加到注册表的 mapType: MapType|* MapType 对象。
返回值:无
设置注册表以将传递的字符串标识符与传递的 MapType 相关联。
继承的方法: addListener、bindTo、get、notify、setValues、unbind、unbindAll

MapRestriction 接口

接口 google.maps.MapRestriction

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

latLngBounds
设置后,用户只能在给定边界内平移和缩放。边界可以同时限制经度和纬度,也可以仅限制纬度。对于仅限纬度的边界,请分别使用 -180 和 180 作为西经和东经,例如 latLngBounds: {north: northLat, south: southLat, west: -180, east: 180}。
strictBounds
可选
类型:boolean optional
通过将 strictBounds 标志设置为 true,可以使边界更具限制性。这会限制用户可以缩小的程度,从而确保限制边界之外的所有内容都保持隐藏状态。默认值为 false,这意味着用户可以缩小到整个限定区域都在视图中,可能包括限定区域之外的区域。

TrafficLayer 类

class google.maps.TrafficLayer extends MVCObject
library "maps"

路况图层。

const {TrafficLayer} = await google.maps.importLibrary("maps");
TrafficLayer
TrafficLayer([opts])
参数:
显示当前路况的图层。
getMap
getMap()
参数:无
返回值:Map|null
传回在其上显示此图层的地图。
setMap
setMap(map)
参数:
  • map: Map optional
返回值:无
在指定地图上渲染此图层。如果地图设置为 null,则系统会移除该图层。
setOptions
setOptions(options)
参数:
返回值:无
继承的方法: addListener、bindTo、get、notify、set、setValues、unbind、unbindAll

TrafficLayerOptions 接口

接口 google.maps.TrafficLayerOptions

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

autoRefresh
可选
类型:boolean optional
默认值:true
路况图层是否会自动刷新并显示更新后的信息。
map
可选
类型:Map optional
要在其上显示路况图层的地图。

TransitLayer 类

class google.maps.TransitLayer extends MVCObject
library "maps"

公交图层。

const {TransitLayer} = await google.maps.importLibrary("maps");
TransitLayer
TransitLayer()
参数:无
显示公交线路的图层。
getMap
getMap()
参数:无
返回值:Map|null
传回在其上显示此图层的地图。
setMap
setMap(map)
参数:
  • map: Map optional
返回值:void
在指定地图上渲染此图层。如果地图设置为 null,则系统会移除该图层。
继承的方法: addListener、bindTo、get、notify、set、setValues、unbind、unbindAll

BicyclingLayer 类

class google.maps.BicyclingLayer extends MVCObject
library "maps"

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

const {BicyclingLayer} = await google.maps.importLibrary("maps");
BicyclingLayer
BicyclingLayer()
参数:无
显示自行车道和路径并表示大型道路的图层。
getMap
getMap()
参数:无
返回值:Map|null
传回在其上显示此图层的地图。
setMap
setMap(map)
参数:
  • map: Map optional
返回值:void
在指定地图上渲染此图层。如果地图设置为 null,则系统会移除该图层。
继承的方法: addListener、bindTo、get、notify、set、setValues、unbind、unbindAll

CameraOptions 接口

接口 google.maps.CameraOptions
由 CameraParams 扩展

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

center
可选
类型:LatLngLiteral|LatLng optional
heading
可选
类型:number optional
tilt
可选
类型:number optional
zoom
可选
类型:number optional

VisibleRegion 接口

接口 google.maps.VisibleRegion

包含四个点,用于定义作为地图可见区域的四边形。在矢量地图上,如果矢量地图具有倾斜度,则此多边形可以是梯形,而不是矩形。

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

RenderingType 常量

常量 google.maps.RenderingType
库 "maps"

这些常量也可以用作字符串。在 TypeScript 中,字符串字面量由 RenderingTypeString 类型定义。

const {RenderingType} = await google.maps.importLibrary("maps");
RASTER 表示地图是光栅地图。
UNINITIALIZED 表示地图尚未完成初始化,因此尚不清楚地图是矢量地图还是栅格地图。
VECTOR 表示地图是矢量地图。

MapCapabilities 接口

接口 google.maps.MapCapabilities

包含地图当前可用功能快照的对象。请注意,这并不一定意味着相关模块已加载或初始化,而是表示当前地图有权使用这些 API。如需查看可能的功能列表,请参阅属性。

isAdvancedMarkersAvailable
可选
类型:boolean optional
如果为 true,则表示此地图已正确配置,可以使用高级标记。请注意,您仍必须导入 marker 库才能使用高级标记。如需了解详情,请参阅 https://goo.gle/gmp-isAdvancedMarkersAvailable。
isDataDrivenStylingAvailable
可选
类型:boolean optional
如果为 true,则表示此地图已正确配置,允许对至少一个 FeatureLayer 使用数据驱动型样式。如需了解详情,请参阅 https://goo.gle/gmp-data-driven-styling 和 https://goo.gle/gmp-FeatureLayerIsAvailable。
isWebGLOverlayViewAvailable
可选
类型:boolean optional
如果为 true,则表示此地图已正确配置,可以使用 WebGLOverlayView。