标记类
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()参数:无 
获取  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 | 
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])参数:   
 返回值:无 
 | 
setClickable | 
setClickable(flag)参数:   
 返回值:无 
设置  Marker 是否可点击。 | 
setCursor | 
setCursor([cursor])参数:   
 返回值:无 
设置悬停时显示的鼠标光标类型。  | 
setDraggable | 
setDraggable(flag)参数:   
 返回值:无 
设置  Marker 是否可拖动。 | 
setIcon | 
setIcon([icon])返回值:无 
为  Marker 设置图标。请参阅MarkerOptions.icon。 | 
setLabel | 
setLabel([label])参数:   
 返回值:无 
为  Marker 设置标签。请参阅MarkerOptions.label。 | 
setMap | 
setMap(map)参数:   
返回值:无 
在指定地图或全景图片上渲染  Marker。如果将地图设置为 null,则会移除相应标记。 | 
setOpacity | 
setOpacity([opacity])参数:   
 返回值:无 
设置  Marker 的不透明度。 | 
setOptions | 
setOptions(options)参数:   
 返回值:无 
设置  Marker 的选项。 | 
setPosition | 
setPosition([latlng])参数:   
 返回值:无 
设置  Marker 的位置。 | 
setShape | 
setShape([shape])参数:   
 返回值:无 
 | 
setTitle | 
setTitle([title])参数:   
 返回值:无 
设置  Marker 提示的标题。请参阅MarkerOptions.title。 | 
setVisible | 
setVisible(visible)参数:   
 返回值:无 
如果  Marker 可见,则进行设置。 | 
setZIndex | 
setZIndex([zIndex])参数:   
 返回值:无 
设置  Marker 的 zIndex。请参阅MarkerOptions.zIndex。 | 
继承自:
addListener、bindTo、get、notify、set、setValues、unbind、unbindAll
 | |
事件 | |
|---|---|
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 属性发生更改时,会触发此事件。 | 
 | 
function(event)实参:   
 当用户右键点击  Marker 时,系统会触发此事件。 | 
MarkerOptions 接口
google.maps.MarkerOptions
接口
用于定义可在标记上设置的属性的 MarkerOptions 对象。
属性 | |
|---|---|
anchorPoint optional | 
类型:   
Point optional从标记的位置到以该标记为锚点打开的信息窗口尖端的偏移量。  | 
animation optional | 
类型:   
Animation optional默认值:  
null将标记添加到地图时所播放的动画。  | 
clickable optional | 
类型:   
boolean optional默认值:  
true如果为  true,则标记会接收鼠标和触摸事件。 | 
 | 
类型:   
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 | 
 前景图标。如果提供的是字符串,则会将其视为  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
接口
此对象定义了标记图片的可点击区域。形状由两个属性(type 和 coord)组成,用于定义图片的不透明区域。
属性 | |
|---|---|
type | 
类型:   
string描述形状的类型,可以是  circle、poly 或 rect。 | 
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 中的符号的 fixedRotation 为 false,则该符号会相对于其所在边缘的角度旋转。 | 
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。这种类型的动画通常在创建标记的过程中指定。 |