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() 参数:无
获取 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]) 参数:
返回值:None
|
setClickable |
setClickable(flag) 参数:
返回值:None
设置 Marker 是否可点击。 |
setCursor |
setCursor([cursor]) 参数:
返回值:None
设置悬停时显示的鼠标光标类型。 |
setDraggable |
setDraggable(flag) 参数:
返回值: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]) 参数:
返回值:None
设置 Marker 的不透明度。 |
setOptions |
setOptions(options) 参数:
返回值:None
为 Marker 设置选项。 |
setPosition |
setPosition([latlng]) 参数:
返回值:None
设置 Marker 的位置。 |
setShape |
setShape([shape]) 参数:
返回值:None
|
setTitle |
setTitle([title]) 参数:
返回值:None
设置 Marker 提示的标题。请参阅MarkerOptions.title 。 |
setVisible |
setVisible(visible) 参数:
返回值:None
设置 Marker 是否可见。 |
setZIndex |
setZIndex([zIndex]) 参数:
返回值:None
设置 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) 参数:
当 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 属性发生变化时,系统会触发此事件。 |
|
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 ,则可以拖动标记。注意:将此值设置为 true 后,即使 clickable 设置为 false ,标记也会可点击。 |
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 |
标记会弹跳,直到通过使用 null 调用 Marker.setAnimation 来停止动画。 |
DROP |
标记从地图顶部下落到其最终位置。一旦标记停止移动,动画即停止,并且 Marker.getAnimation 将返回 null 。此类动画通常在创建标记的过程中指定。 |