Marker (legacy)

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()
参数:无
返回值:  Map|StreetViewPanorama
获取用于渲染 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要播放的动画。
返回值:None
启动动画。系统将会取消所有正在播放的动画。目前支持的动画有:Animation.BOUNCEAnimation.DROP。传入 null 会导致所有动画停止。
setClickable
setClickable(flag)
参数: 
  • flagboolean 如果为 true,则可以点击标记。
返回值:None
设置 Marker 是否可点击。
setCursor
setCursor([cursor])
参数: 
  • cursorstring optional 鼠标光标类型。
返回值:None
设置悬停时显示的鼠标光标类型。
setDraggable
setDraggable(flag)
参数: 
  • flagboolean optional 如果为 true,则可以拖动标记。
返回值:None
设置 Marker 是否可拖动。
setIcon
setIcon([icon])
参数: 
返回值:None
Marker 设置图标。请参阅MarkerOptions.icon
setLabel
setLabel([label])
参数: 
返回值:None
Marker 设置标签。请参阅MarkerOptions.label
setMap
setMap(map)
参数: 
返回值:None
在指定的地图或全景图片上渲染 Marker。如果将 map 设置为 null,系统会移除标记。
setOpacity
setOpacity([opacity])
参数: 
  • opacitynumber optional一个介于 0.0(透明)和 1.0(不透明)之间的数字。
返回值:None
设置 Marker 的不透明度。
setOptions
setOptions(options)
参数: 
返回值:None
Marker 设置选项。
setPosition
setPosition([latlng])
参数: 
返回值:None
设置 Marker 的位置。
setShape
setShape([shape])
参数: 
返回值:None
设置用于互动的 Marker 的形状。请参阅 MarkerOptions.shapeMarkerShape
setTitle
setTitle([title])
参数: 
  • titlestring optional
返回值:None
设置 Marker 提示的标题。请参阅MarkerOptions.title
setVisible
setVisible(visible)
参数: 
  • visibleboolean 如果设置为 true,则标记会显示
返回值:None
设置 Marker 是否可见。
setZIndex
setZIndex([zIndex])
参数: 
  • zIndexnumber optional
返回值:None
设置 Marker 的 zIndex。请参阅MarkerOptions.zIndex
继承addListenerbindTogetnotifysetsetValuesunbindunbindAll
animation_changed
function()
参数:None
Marker 动画属性发生变化时,系统会触发此事件。
click
function(event)
参数: 
点击 Marker 图标时会触发此事件。
clickable_changed
function()
参数:None
Marker 可点击属性发生变化时,系统会触发此事件。
contextmenu
function(event)
参数: 
Marker 上触发 DOM contextmenu 事件时,系统会触发此事件
cursor_changed
function()
参数:None
Marker 光标属性发生变化时,系统会触发此事件。
dblclick
function(event)
参数: 
当用户双击 Marker 图标时,系统会触发此事件。
drag
function(event)
参数: 
在用户拖动 Marker 时,此事件会反复触发。
dragend
function(event)
参数: 
当用户停止拖动 Marker 时,此事件会触发。
draggable_changed
function()
参数:None
Marker draggable 属性发生变化时,系统会触发此事件。
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 上发生鼠标松开时,系统会触发此事件。
position_changed
function()
参数:None
Marker 位置属性发生变化时,系统会触发此事件。
shape_changed
function()
参数:None
Marker 形状属性发生变化时,系统会触发此事件。
title_changed
function()
参数:None
Marker 标题属性发生变化时,系统会触发此事件。
visible_changed
function()
参数:None
Marker visible 属性发生变化时,系统会触发此事件。
zindex_changed
function()
参数:None
Marker zIndex 属性发生变化时,系统会触发此事件。
rightclick
function(event)
参数: 
当用户右键点击 Marker 时,系统会触发此事件。

MarkerOptions 接口

google.maps.MarkerOptions 接口

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

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,则可以拖动标记。注意:将此值设置为 true 后,即使 clickable 设置为 false,标记也会可点击。
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 标记或标签。

图标接口

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 的 font-family 属性)。
fontSize optional
类型:  string optional
默认值'14px'
标签文本的字号(相当于 CSS font-size 属性)。
fontWeight optional
类型:  string optional
标签文本的字体粗细(相当于 CSS font-weight 属性)。

MarkerShape 接口

google.maps.MarkerShape 接口

此对象定义了标记图片的可点击区域。该形状由两个属性(typecoord)组成,用于定义图片的不透明区域。

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

符号接口

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
符号的旋转角度,以顺时针度数表示。如果 IconSequence 中的 fixedRotationfalse,则其中的符号会相对于其所在边缘的角度旋转。
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 一个指向前方的开放箭头。

动画常量

google.maps.Animation 常量

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

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

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