Marker

Marker

google.maps.Marker

此类扩展了 MVCObject

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

Marker
Marker([opts])
参数
使用指定的选项创建标记。如果指定了地图,标记会在构建时添加到地图中。请注意,您必须设置标记的显示位置。
MAX_ZINDEX API 分配给标记的最大默认 Z-index。您可以设置较高的 Z-index 值,以使相关标记显示在前面。
getAnimation
getAnimation()
参数:无
返回值Animation|null|undefined
获取当前正在运行的动画。
getClickable
getClickable()
参数:无
返回值boolean 如果标记可点击,则为 true。
获取 Marker 的可点击状态。
getCursor
getCursor()
参数:无
返回值string|null|undefined
获取悬停时显示的鼠标光标类型。
getDraggable
getDraggable()
参数:无
返回值boolean 如果标记可拖动,则为 true。
获取 Marker 的可拖动状态。
getIcon
getIcon()
参数:无
返回值string|Icon|Symbol|null|undefined
获取 Marker 的图标。请参阅MarkerOptions.icon
getLabel
getLabel()
参数:无
返回值MarkerLabel|string|null|undefined
获取 Marker 的标签。请参阅MarkerOptions.label
getMap
getMap()
参数:无
获取用于渲染 Marker 的地图或全景图片。
getOpacity
getOpacity()
参数:无
返回值number|null|undefined 一个介于 0.0 和 1.0 之间的数字。
获取 Marker 的不透明度。
getPosition
getPosition()
参数:无
返回值LatLng|null|undefined
获取 Marker 的位置。
getShape
getShape()
参数:无
返回值MarkerShape|null|undefined
获取用于互动的 Marker 的形状。请参阅MarkerOptions.shapeMarkerShape
getTitle
getTitle()
参数:无
返回值string|null|undefined
获取 Marker 提示的标题。请参阅MarkerOptions.title
getVisible
getVisible()
参数:无
返回值boolean 如果标记可见,则返回 true。
获取 Marker 的可见性。
getZIndex
getZIndex()
参数:无
返回值:标记的 number|null|undefined zIndex。
获取 Marker 的 zIndex。请参阅MarkerOptions.zIndex
setAnimation
setAnimation([animation])
参数
  • animationAnimation optional 要播放的动画。
返回值:无
启动动画。系统将会取消所有正在播放的动画。目前支持的动画包括:Animation.BOUNCEAnimation.DROP。传入 null 将会导致所有动画停止播放。
setClickable
setClickable(flag)
参数
  • flagboolean如果为 true,则可以点击标记。
返回值:无
设置 Marker 是否可点击。
setCursor
setCursor([cursor])
参数
  • cursorstring optional 鼠标光标类型。
返回值:无
设置悬停时显示的鼠标光标类型。
setDraggable
setDraggable(flag)
参数
  • flagboolean optional如果为 true,则可以拖动标记。
返回值:无
设置 Marker 是否可拖动。
setIcon
setIcon([icon])
参数
返回值:无
Marker 设置图标。请参阅MarkerOptions.icon
setLabel
setLabel([label])
参数
返回值:无
Marker 设置标签。请参阅MarkerOptions.label
setMap
setMap(map)
参数
返回值:无
在指定地图或全景图片上渲染 Marker。如果地图设为 null,系统会移除标记。
setOpacity
setOpacity([opacity])
参数
  • opacitynumber optional 介于 0.0(表示透明)和 1.0(不透明)之间的数字。
返回值:无
设置 Marker 的不透明度。
setOptions
setOptions(options)
参数
返回值:无
设置 Marker 的选项。
setPosition
setPosition([latlng])
参数
返回值:无
Marker 设置发布内容。
setShape
setShape([shape])
参数
返回值:无
设置用于互动的 Marker 的形状。请参阅MarkerOptions.shapeMarkerShape
setTitle
setTitle([title])
参数
  • titlestring optional
返回值:无
设置 Marker 提示的标题。请参阅MarkerOptions.title
setVisible
setVisible(visible)
参数
  • visibleboolean 如果为 true,则标记可见
返回值:无
设置 Marker 是否可见。
setZIndex
setZIndex([zIndex])
参数
  • zIndexnumber optional
返回值:无
设置 Marker 的 zIndex。请参阅MarkerOptions.zIndex
继承addListenerbindTogetnotifysetsetValuesunbindunbindAll
animation_changed
function()
参数:None
Marker 动画属性更改时会触发此事件。
click
function(event)
参数
点击 Marker 图标时会触发此事件。
clickable_changed
function()
参数:None
Marker 可点击属性更改时会触发此事件。
contextmenu
function(event)
参数
Marker 触发 DOM 上下文菜单事件时会触发此事件
cursor_changed
function()
参数:None
Marker 光标属性更改时会触发此事件。
dblclick
function(event)
参数
双击 Marker 图标时会触发此事件。
drag
function(event)
参数
当用户拖动 Marker 时,系统会反复触发此事件。
dragend
function(event)
参数
当用户停止拖动 Marker 时会触发此事件。
draggable_changed
function()
参数:None
Marker 可拖动属性更改时会触发此事件。
dragstart
function(event)
参数
当用户开始拖动 Marker 时会触发此事件。
flat_changed
function()
参数:None
Marker 平面属性更改时会触发此事件。
icon_changed
function()
参数:None
Marker 图标属性更改时会触发此事件。
mousedown
function(event)
参数
Marker 触发 mousedown 时会触发此事件。
mouseout
function(event)
参数
当鼠标离开 Marker 图标区域时会触发此事件。
mouseover
function(event)
参数
当鼠标进入 Marker 图标区域时会触发此事件。
mouseup
function(event)
参数
Marker 触发 mouseup 时会触发此事件。
position_changed
function()
参数:None
Marker 位置属性更改时会触发此事件。
shape_changed
function()
参数:None
Marker 形状属性更改时会触发此事件。
title_changed
function()
参数:None
Marker 标题属性更改时会触发此事件。
visible_changed
function()
参数:None
Marker 可见属性更改时会触发此事件。
zindex_changed
function()
参数:None
Marker zIndex 属性更改时会触发此事件。
rightclick
function(event)
参数
Marker 进行右键点击时会触发此事件。

MarkerOptions 接口

google.maps.MarkerOptions 接口

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

anchorPoint optional
类型Point optional
从标记位置到以标记为锚点打开的信息窗口尖端的偏移量。
animation optional
类型Animation optional
默认值null
将标记添加到地图时所播放的动画。
clickable optional
类型boolean optional
默认值true
如果为 true,则标记会收到鼠标和触摸事件。
BetacollisionBehavior optional
类型string|CollisionBehavior optional
默认值null
为矢量地图上的标记设置冲突行为。
crossOnDrag optional
类型boolean optional
默认值true
如果为 false,则停用拖动标记下显示的叉号。
cursor optional
类型string optional
默认值pointer
要在悬停鼠标时显示的鼠标光标类型。
draggable optional
类型boolean optional
默认值false
如果为 true,则可以拖动标记。
icon optional
类型string|Icon|Symbol optional
前景的图标。如果提供了一个字符串,则系统会将其视为 Icon,并将字符串视为 url
label optional
类型string|MarkerLabel optional
默认值null
向标记添加标签。标记标签是显示在标记内的字母或数字。标签可以是字符串,也可以是 MarkerLabel 对象。如果提供但未提供 MarkerOptions.title,系统将随所提供标签的文本一起向标记添加无障碍文本(例如,供屏幕阅读器使用)。请注意,label 目前仅用于未优化标记的无障碍文本。
map optional
类型Map|StreetViewPanorama optional
要在其上显示标记的地图。显示标记需要地图。如果在构建标记时未提供地图,则可以随 Marker.setMap 提供该地图。
opacity optional
类型number optional
默认值:1.0
介于 0.0(表示透明)和 1.0(不透明)之间的数字。
optimized optional
类型boolean optional
您可以通过优化将多个标记渲染为单个静态元素,从而提高性能。在需要大量标记的情况下,这会非常有用。详细了解标记优化
position optional
类型LatLng|LatLngLiteral optional
设置标记位置。在提供标记位置(例如,通过用户的操作或选择)之前,可以构建标记,但不会显示该标记。如果在构建标记时未提供标记位置,则可以随 Marker.setPosition 提供标记位置。
shape optional
类型MarkerShape optional
用于拖动/点击的图像地图区域定义。
title optional
类型string optional
默认值undefined
鼠标悬停时显示的文本。如果提供了无障碍文本(例如与屏幕阅读器搭配使用),系统会利用提供的值向标记添加无障碍文本。请注意,title 目前仅用于未优化标记的无障碍文本。
visible optional
类型boolean optional
默认值true
如果为 true,则标记可见。
zIndex optional
类型number optional
所有标记均按其 zIndex 的顺序在地图上显示,值较大的标记会显示在值较小的标记之前。默认情况下,标记会按照它们在屏幕上的垂直位置来显示,位置较低的标记会显示在位置较高的标记之前。

CollisionBehavior 常量

google.maps.CollisionBehavior 常量

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

OPTIONAL_AND_HIDES_LOWER_PRIORITY 仅当标记不与其他标记重叠时才显示该标记。如果两个同属于这种类型的标记发生重叠,则会显示 zIndex 较高的那个标记。如果二者的 zIndex 相同,则会显示在屏幕上纵向位置较低的那个索引。
REQUIRED 始终显示标记,无论是否冲突。这是默认行为。
REQUIRED_AND_HIDES_OPTIONAL 一律显示该标记(不考虑冲突之处),并隐藏任何与该标记重叠的 OPTIONAL_AND_HIDES_LOWER_PRIORITY 标记或标签。

Icon 接口

google.maps.Icon 接口

表示标记图标图像的结构。

url
类型string
图片或拼合图片的网址。
anchor optional
类型Point optional
与地图上的标记位置相对应的图像锚定位置。默认情况下,锚点会放置在图片底部的中心点附近。
labelOrigin optional
类型Point optional
标签相对于图标图片左上角的原点(如果由标记提供标签)。默认情况下,原点位于图片的中心点。
origin optional
类型Point optional
图片在拼合图片中的位置(如果有的话)。默认情况下,原点位于图片 (0, 0) 的左上角。
scaledSize optional
类型Size optional
进行缩放后的整幅图片的尺寸(如果有的话)。可使用此属性伸展/收缩图片或拼合图片。
size optional
类型Size optional
拼合图片或图片的显示尺寸。使用拼合图片时必须指定其尺寸。如果未提供尺寸,则系统会在加载图片时进行设置。

MarkerLabel 接口

google.maps.MarkerLabel 接口

这些选项用于指定标记标签的外观。标记标签是将显示在标记内的字符串(通常是单个字符)。如果您要将该标记与自定义标记搭配使用,可以使用 Icon 类中的 labelOrigin 属性来调整标记的位置。

text
类型string
要在标签中显示的文本。
className optional
类型string optional
默认值''(空字符串)
标签元素的 className 属性(相当于元素的 class 属性)。可以添加多个以空格分隔的 CSS 类。只能通过 MarkerLabel 的其他属性来设置字体颜色、大小、粗细和字体系列。如果还使用了标记冲突管理,则不应使用 CSS 类来更改标签的位置或方向(例如,使用平移和旋转)。
color optional
类型string optional
默认值'black'
标签文本的颜色。
fontFamily optional
类型string optional
标签文本的字体系列(相当于 CSS 字体系列属性)。
fontSize optional
类型string optional
默认值'14px'
标签文字的字体大小(相当于 CSS font-size 属性)。
fontWeight optional
类型string optional
标签文本的字体粗细(相当于 CSS font-weight 属性)。

MarkerShape 接口

google.maps.MarkerShape 接口

该对象用于定义标记图片的可点击区域。形状包含两个属性:typecoord,这两个属性用于定义图片的不透明区域。

coords
类型Array<number>
此属性的格式取决于 type 的值,并遵循 http://www.w3.org/TR/REC-html40/struct/objects.html#adef-coords 上的 w3 AREA coords 规范。
coords 属性是一个整数数组,用于指定相应形状相对于目标图片左上角的像素位置。坐标取决于 type 的值,如下所示:
- circle:坐标为 [x1,y1,r],其中 x1,y2 是圆心的坐标,而 r 是圆的半径。
- poly:坐标为 [x1,y1,x2,y2...xn,yn],其中每个 x,y 对都包含多边形的一个顶点的坐标。
- rect:坐标为 [x1,y1,x2,y2],其中 x1,y1 是矩形左上角的坐标,x2,y2 是矩形右下角的坐标。
type
类型string
描述形状的类型,可以是 circlepolyrect

Symbol 接口

google.maps.Symbol 接口

描述符号,它由带样式的矢量路径组成。符号可用作标记的图标,也可放置在多段线上。

path
类型SymbolPath|string
符号的路径,它是内置符号路径,或使用 SVG 路径表示法表示的自定义路径。必填。
anchor optional
类型Point optional
默认值google.maps.Point(0,0)
符号相对于标记或多段线的位置。符号路径的坐标分别由锚定点的x坐标和y坐标向左和向上进行转换。位置使用与符号路径相同的坐标系表示。
fillColor optional
类型string optional
符号的填充颜色。支持所有CSS3颜色,扩展命名的颜色除外。对于符号标记,此属性默认为“black”。对于多段线上的符号,此值默认为相应多段线的描边颜色。
fillOpacity optional
类型number optional
默认值0
符号的填充不透明度。
labelOrigin optional
类型Point optional
默认值google.maps.Point(0,0)
标签原点相对于路径原点的位置(如果标签由标记提供)。用与符号路径相同的坐标系表示原点。多段线上的符号不使用此属性。
rotation optional
类型number optional
默认值0
符号的旋转角度,以顺时针度数表示。IconSequencefixedRotationfalse 的符号相对于其所在边缘的角度旋转。
scale optional
类型number optional
符号大小缩放的量。对于符号标记,此值默认为 1;缩放后,符号可为任意大小。对于多段线上的符号,此值默认为多段线的描边粗细;缩放后,符号必须位于尺寸为 22 像素的正方形范围内,以符号的锚点为中心。
strokeColor optional
类型string optional
符号的描边颜色。支持所有CSS3颜色,扩展命名的颜色除外。对于符号标记,此属性默认为“black”。对于多段线上的符号,此属性默认为多段线的描边颜色。
strokeOpacity optional
类型number optional
符号的描边不透明度。对于符号标记,此值默认为 1。对于多段线上的符号,此值默认为多段线的描边不透明度。
strokeWeight optional
类型number optional
默认值:符号的 Symbol.scale
符号的描边粗细。

SymbolPath 常量

google.maps.SymbolPath 常量

内置符号路径。

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

BACKWARD_CLOSED_ARROW 一个向后指向的闭合箭头。
BACKWARD_OPEN_ARROW 一个向后指的开放箭头。
CIRCLE 圆形。
FORWARD_CLOSED_ARROW 一个向前指向一个闭合箭头。
FORWARD_OPEN_ARROW 一个向前指向的开放式箭头。

Animation 常量

google.maps.Animation 常量

可以在标记上播放的动画。对标记使用 Marker.setAnimation 方法或使用 MarkerOptions.animation 选项播放动画。

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

BOUNCE 通过使用 null 调用 Marker.setAnimation,标记会弹跳,直到动画停止播放。
DROP 标记会从地图顶部下落到其最终位置。一旦标记停止移动,动画即停止,并且 Marker.getAnimation 将返回 null。这种类型的动画通常在创建标记的过程中指定。