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 。此类动画通常在创建标记的过程中指定。 |