Marker (legacy)

标记

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()
参数:无
返回值:如果标记可点击,则为 True。boolean
获取 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 要播放的动画。
返回值:无
启动动画。系统将会取消所有正在播放的动画。目前支持的动画有: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)
实参: 
当 DOM contextmenu 事件在 Marker 上触发时,会触发此事件
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 上按下鼠标按钮时,系统会触发此事件。
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 title 属性发生更改时,会触发此事件。
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,则标记可拖动。注意:即使 clickable 设置为 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 标记或标签。

图标界面

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 标记会一直跳动,直到通过调用 Marker.setAnimation 并传入 null 来停止动画。
DROP 标记从地图顶部下落到其最终位置。一旦标记停止移动,动画即停止,并且 Marker.getAnimation 将返回 null。这种类型的动画通常在创建标记的过程中指定。