Advanced Markers

AdvancedMarkerElement

google.maps.marker.AdvancedMarkerElement

在地图上显示位置。请注意,必须设置 position 才能显示 AdvancedMarkerElement

注意:作为 Web 组件使用(例如,只能在 v=beta 渠道中使用自定义 <gmp-advanced-marker> HTML 元素)。

自定义元素:
<gmp-advanced-marker position="lat,lng" title="string"></gmp-advanced-marker>

此类扩展了 HTMLElement

此类会实现 AdvancedMarkerElementOptions

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

AdvancedMarkerElement
AdvancedMarkerElement([options])
参数
使用指定选项创建 AdvancedMarkerElement。如果指定了地图,系统会在构造时向地图添加 AdvancedMarkerElement
collisionBehavior
类型CollisionBehavior optional
content
类型Node optional
element
类型HTMLElement
此字段是只读字段。支持视图的 DOM 元素。
BetagmpClickable
类型boolean optional
gmpDraggable
类型boolean optional
map
类型Map optional
position
HTML 属性
  • <gmp-advanced-marker position="lat,lng"></gmp-advanced-marker>
  • <gmp-advanced-marker position="lat,lng,altitude"></gmp-advanced-marker>
title
类型string
HTML 属性
  • <gmp-advanced-marker title="string"></gmp-advanced-marker>
zIndex
类型number optional
BetaaddEventListener
addEventListener(type, listener[, options])
参数
  • typestring 区分大小写的字符串,表示要监听的事件类型。
  • listenerEventListener|EventListenerObject接收通知的对象。这必须是一个函数或一个包含 handleEvent 方法的对象
  • optionsboolean|AddEventListenerOptions optional 请参阅选项。自定义事件仅支持 capturepassive
返回值void
设置每当有指定事件传送至目标时调用的函数。请参阅 addEventListener
addListener
addListener(eventName, handler)
参数
  • eventNamestring 观察到的事件。
  • handlerFunction 用于处理事件的函数。
返回值MapsEventListener 生成的事件监听器。
将指定监听器函数添加到地图事件系统中的指定事件名称。
BetaremoveEventListener
removeEventListener(type, listener[, options])
参数
返回值void
从目标中移除之前通过 addEventListener 注册的事件监听器。请参阅 removeEventListener
click
function(event)
参数
点击 AdvancedMarkerElement 元素时会触发此事件。

不适用于 addEventListener()(请改用 gmp-click)。
drag
function(event)
参数
当用户拖动 AdvancedMarkerElement 时,系统会反复触发此事件。

不适用于 addEventListener()
dragend
function(event)
参数
当用户停止拖动 AdvancedMarkerElement 时会触发此事件。

不适用于 addEventListener()
dragstart
function(event)
参数
当用户开始拖动 AdvancedMarkerElement 时会触发此事件。

不适用于 addEventListener()
Betagmp-click
function(event)
参数
点击 AdvancedMarkerElement 元素时会触发此事件。最适合与 addEventListener()(而不是 addListener())搭配使用。

AdvancedMarkerElementOptions 接口

google.maps.marker.AdvancedMarkerElementOptions 接口

用于构造 AdvancedMarkerElement 的选项。

collisionBehavior optional
类型CollisionBehavior optional
一个枚举,用于指定 AdvancedMarkerElement 在与其他 AdvancedMarkerElement 或与矢量地图上的基本地图标签冲突时的行为。

注意:光栅地图和矢量地图之间可能会发生 AdvancedMarkerElementAdvancedMarkerElement 的碰撞;但是,AdvancedMarkerElement 与基本地图的标签冲突仅适用于矢量地图。

content optional
类型Node optional
默认值PinElement.element
支持 AdvancedMarkerElement 视觉元素的 DOM 元素。

注意AdvancedMarkerElement 不会克隆传入的 DOM 元素。将该 DOM 元素传递到某个 AdvancedMarkerElement 后,将同一 DOM 元素传递给另一个 AdvancedMarkerElement 将会移动该 DOM 元素,并导致之前的 AdvancedMarkerElement 看起来为空。

BetagmpClickable optional
类型boolean optional
默认值false
如果为 true,则 AdvancedMarkerElement 将可点击并触发 gmp-click 事件,并会为实现无障碍功能而互动(例如,允许通过箭头键进行键盘导航)。
gmpDraggable optional
类型boolean optional
默认值false
如果为 true,则可以拖动 AdvancedMarkerElement

注意:海拔高度的 AdvancedMarkerElement 不可拖动。

map optional
类型Map optional
要在其上显示 AdvancedMarkerElement 的地图。地图需要显示 AdvancedMarkerElement,如果在构造时未提供该地图,可通过设置 AdvancedMarkerElement.map 来提供该地图。
position optional
设置 AdvancedMarkerElement 的位置。AdvancedMarkerElement 可以在没有位置的情况下构造,但在提供位置(例如,通过用户的操作或选择)后才会显示。如果在构造中未提供 AdvancedMarkerElement 的位置,可通过设置 AdvancedMarkerElement.position 来提供。

注意:只有矢量地图支持带有海拔高度的 AdvancedMarkerElement

title optional
类型string optional
翻转文字。如果提供了无障碍文本(例如与屏幕阅读器搭配使用),系统会使用提供的值向 AdvancedMarkerElement 中添加该文本。
zIndex optional
类型number optional
所有 AdvancedMarkerElement 都按其 zIndex 的顺序显示在地图上,值较高的 AdvancedMarkerElement 会显示在值较低的 AdvancedMarkerElement 之前。默认情况下,AdvancedMarkerElement 根据其在屏幕上的垂直位置显示,较低的 AdvancedMarkerElement 显示在屏幕上较远的 AdvancedMarkerElement 前面。请注意,zIndex 还用于确定 CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY 高级标记之间的相对优先级。zIndex 值越高,表示优先级越高。

AdvancedMarkerClickEvent

google.maps.marker.AdvancedMarkerClickEvent

此事件是通过点击高级标记创建的。通过 event.target.position 获取标记的位置。

此类扩展了 Event

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

PinElement

google.maps.marker.PinElement

PinElement 表示由形状和字形组成的 DOM 元素。该形状与默认 AdvancedMarkerElement 中的提示框样式相同。字形是在提示框形状中显示的可选 DOM 元素。PinElement 的宽高比可能有所不同,具体取决于其 PinElement.scale

注意:尚不支持作为 Web 组件使用(例如,作为 HTMLElement 子类使用或通过 HTML 使用)。

此类扩展了 HTMLElement

此类会实现 PinElementOptions

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

PinElement
PinElement([options])
参数
background
类型string optional
borderColor
类型string optional
element
类型HTMLElement
此字段是只读字段。支持视图的 DOM 元素。
glyph
类型string|Element|URL optional
glyphColor
类型string optional
scale
类型number optional
BetaaddEventListener
addEventListener(type, listener[, options])
参数
返回值void
此函数尚不可用。
BetaremoveEventListener
removeEventListener(type, listener[, options])
参数
返回值void
从目标中移除之前通过 addEventListener 注册的事件监听器。请参阅 removeEventListener

PinElementOptions 接口

google.maps.marker.PinElementOptions 接口

用于创建 PinElement 的选项。

background optional
类型string optional
图钉形状的背景颜色。支持任何 CSS 颜色值
borderColor optional
类型string optional
图钉形状的边框颜色。支持任何 CSS 颜色值
glyph optional
类型string|Element|URL optional
图钉中显示的 DOM 元素。
glyphColor optional
类型string optional
字形的颜色。支持任何 CSS 颜色值
scale optional
类型number optional
默认值1
图钉的缩放比例。