Marker (legacy)

Marker 类

google.maps.Marker class
extends MVCObject
library "marker"

const {Marker} = await google.maps.importLibrary("marker");
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|null
获取呈现 Marker 的地图或全景图片。
getOpacity
getOpacity()
参数:无
返回值: number|null|undefined 介于 0.0 和 1.0 之间的数字。
获取Marker的不透明度。
getPosition
getPosition()
参数:无
返回值:LatLng|null|undefined
获取 Marker 的位置。
getShape
getShape()
参数:无
返回值:MarkerShape|null|undefined
获取用于互动的 Marker 的形状。请参阅MarkerOptions.shape和MarkerShape。
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])
参数:
  • animation:Animation optional 要播放的动画。
返回值:无
启动动画。系统将会取消所有正在播放的动画。目前支持的动画包括:Animation.BOUNCE、Animation.DROP。传入 null 会导致所有动画停止。
setClickable
setClickable(flag)
参数:
  • flag:boolean如果设置为 true,则可以点击标记。
返回值:无
设置 Marker 是否可点击。
setCursor
setCursor([cursor])
参数:
  • cursor:string optional 鼠标光标类型。
返回值:无
设置悬停时显示的鼠标光标类型。
setDraggable
setDraggable(flag)
参数:
  • flag:boolean optional 如果为 true,则可以拖动标记。
返回值:无
设置 Marker 是否可拖动。
setIcon
setIcon([icon])
参数:
返回值:无
为 Marker 设置图标。请参阅MarkerOptions.icon。
setLabel
setLabel([label])
参数:
返回值:无
为 Marker 设置标签。请参阅MarkerOptions.label。
setMap
setMap(map)
参数:
返回值:无
在指定的地图或全景图片上渲染 Marker。如果地图设置为 null,则标记将被移除。
setOpacity
setOpacity([opacity])
参数:
  • opacity:number optional 介于 0.0(透明)和 1.0(不透明)之间的数字。
返回值:无
设置 Marker 的不透明度。
setOptions
setOptions(options)
参数:
返回值:无
设置 Marker 的选项。
setPosition
setPosition([latlng])
参数:
返回值:无
设置 Marker 的位置。
setShape
setShape([shape])
参数:
返回值:无
设置用于互动的 Marker 的形状。请参阅MarkerOptions.shape和MarkerShape。
setTitle
setTitle([title])
参数:
  • title:string optional
返回值:无
设置 Marker 提示的标题。请参阅MarkerOptions.title。
setVisible
setVisible(visible)
参数:
  • visible:boolean 如果设置为 true,标记就会显示
返回值:无
设置 Marker 是否可见。
setZIndex
setZIndex([zIndex])
参数:
  • zIndex:number optional
返回值:无
设置 Marker 的 zIndex。请参阅MarkerOptions.zIndex。
继承的方法: addListener、bindTo、get、notify、set、setValues、unbind、unbindAll
animation_changed
function()
参数:无
当 Marker 动画属性发生更改时,系统会触发此事件。
click
function(event)
参数:
当用户点击 Marker 图标时,系统会触发此事件。
clickable_changed
function()
参数:无
当 Marker 可点击属性发生更改时,会触发此事件。
contextmenu
function(event)
参数:
当在 Marker 上触发 DOM contextmenu 事件时,会触发此事件
cursor_changed
function()
参数:无
当 Marker 光标属性发生变化时,系统会触发此事件。
dblclick
function(event)
参数:
此事件会在双击 Marker 图标时触发。
drag
function(event)
参数:
在用户拖动 Marker 期间,此事件会反复触发。
dragend
function(event)
参数:
当用户停止拖动 Marker 时,系统会触发此事件。
draggable_changed
function()
参数:无
此事件会在 Marker draggable 属性发生更改时触发。
dragstart
function(event)
参数:
当用户开始拖动 Marker 时,系统会触发此事件。
flat_changed
function()
参数:无
当 Marker 平面属性发生变化时,系统会触发此事件。
icon_changed
function()
参数:无
当 Marker 图标属性发生更改时,会触发此事件。
mousedown
function(event)
参数:
当用户在 Marker 上按下鼠标时,系统会触发此事件。
mouseout
function(event)
参数:
当鼠标离开 Marker 图标区域时,系统会触发此事件。
mouseover
function(event)
参数:
当鼠标进入 Marker 图标区域时,会触发此事件。
mouseup
function(event)
参数:
当用户在 Marker 上松开鼠标时,系统会触发此事件。
position_changed
function()
参数:无
当 Marker 位置属性发生变化时,系统会触发此事件。
shape_changed
function()
参数:无
当 Marker 形状属性发生更改时,系统会触发此事件。
title_changed
function()
参数:无
当 Marker 标题属性发生更改时,会触发此事件。
visible_changed
function()
参数:无
当 Marker 可见属性发生变化时,系统会触发此事件。
zindex_changed
function()
参数:无
当 Marker zIndex 属性发生变化时,系统会触发此事件。
rightclick
function(event)
参数:
此事件会在右键点击 Marker 时触发。

MarkerOptions 接口

google.maps.MarkerOptions 接口

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

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

CollisionBehavior 常量

google.maps.CollisionBehavior 常量
库 "marker"

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

const {CollisionBehavior} = await google.maps.importLibrary("marker");
OPTIONAL_AND_HIDES_LOWER_PRIORITY 标记仅在未与其他标记重叠时才显示。如果两个同属于这种类型的标记发生重叠,则会显示 zIndex 较高的那个标记。如果二者的 zIndex 也相同,则会显示在屏幕上纵向位置较低的那个标记。
REQUIRED 无论是否冲突,一律显示标记。这是默认行为。
REQUIRED_AND_HIDES_OPTIONAL 无论是否冲突,始终显示该标记,并隐藏与该标记重叠的所有 OPTIONAL_AND_HIDES_LOWER_PRIORITY 标记或标签。

Icon 接口

google.maps.Icon 接口

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

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

MarkerLabel 接口

google.maps.MarkerLabel 接口

这些选项用于指定标记标签的外观。标记标签是一个字符串(通常为单个字符),将显示在标记内。如果您是在自定义标记中使用标签,可以通过 Icon 类中的 labelOrigin 属性重新确定标签位置。

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

MarkerShape 接口

google.maps.MarkerShape 接口

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

type
类型:string
描述形状的类型,可以是 circle、poly 或 rect。
coords
可选
类型:Array<number> optional
此属性的格式取决于 type 的值,并遵循 w3 AREA coords 规范(请访问 http://www.w3.org/TR/REC-html40/struct/objects.html#adef-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 是矩形右下角的坐标。

Symbol 接口

google.maps.Symbol 接口

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

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

SymbolPath 常量

google.maps.SymbolPath 常量
库 "core"

内置符号路径。

const {SymbolPath} = await google.maps.importLibrary("core");
BACKWARD_CLOSED_ARROW 向后闭合箭头。
BACKWARD_OPEN_ARROW 向后开放箭头。
CIRCLE 圆形。
FORWARD_CLOSED_ARROW 一个向前指向的闭合箭头。
FORWARD_OPEN_ARROW 一个向前的开放箭头。

动画常量

google.maps.Animation 常量
库 "marker"

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

const {Animation} = await google.maps.importLibrary("marker");
BOUNCE 标记会一直跳动,直到通过使用 null 调用 Marker.setAnimation 停止动画。
DROP 标记从地图顶部下落到其最终位置。一旦标记停止移动,动画即停止,并且 Marker.getAnimation 将返回 null。这种类型的动画通常在创建标记的过程中指定。