Info Window

InfoWindow 类

google.maps.InfoWindow class
extends MVCObject
library "maps", "streetView"

叠加层外观与提示框类似,通常会连接到某个标记。

const {InfoWindow} = await google.maps.importLibrary("maps");
或
const {InfoWindow} = await google.maps.importLibrary("streetView");
InfoWindow
InfoWindow([opts])
参数:
使用给定选项创建信息窗口。信息窗口可以放置在地图上的特定位置或标记上方,具体取决于选项中的指定内容。除非停用自动平移,否则 InfoWindow 在打开时会平移地图,以便让自己可见。构建 InfoWindow 后,您必须调用 open 才能在地图上显示它。用户可以点击信息窗口上的关闭按钮将其从地图中关闭,开发人员也可以调用 close() 函数实现同样的效果。
isOpen
readonly
类型:boolean
检查 InfoWindow 是否已打开。
close
close()
参数:无
返回值:无
关闭此信息窗口,方法是将其从 DOM 结构中删除。
focus
focus()
参数:无
返回值:无
将焦点设置在此 InfoWindow 上。您不妨考虑将此方法与 visible 事件搭配使用,以确保在将焦点设置到 InfoWindow 之前,该元素是可见的。不可见的 InfoWindow 无法获得焦点。
getContent
getContent()
参数:无
返回值: string|Element|Text|null|undefined 此 InfoWindow 的内容。与之前设置为内容的值相同。
getHeaderContent
getHeaderContent()
参数:无
返回值: string|Element|Text|null|undefined此 InfoWindow 的标题内容。请参阅 InfoWindowOptions.headerContent。
getHeaderDisabled
getHeaderDisabled()
参数:无
返回值: boolean|undefined 整个标题行是否已停用。请参阅 InfoWindowOptions.headerDisabled。
getPosition
getPosition()
参数:无
返回值:LatLng|null|undefined 此 InfoWindow 的 LatLng 位置。
getZIndex
getZIndex()
参数:无
返回值: number 此 InfoWindow 的 zIndex。
open
open([options, anchor])
参数:
  • options:InfoWindowOpenOptions|Map|StreetViewPanorama optional InfoWindowOpenOptions 对象(推荐)或用于呈现此 InfoWindow 的地图/全景图片。
  • anchor:MVCObject|AdvancedMarkerElement optional此 InfoWindow 将定位到的锚点。如果锚点不为 null,InfoWindow 将位于锚点的顶部中心。InfoWindow 将在与锚点(如有)相同的地图或全景图片上呈现。
返回值:无
在给定地图上打开此 InfoWindow。(可选)InfoWindow 可以与锚点相关联。在核心 API 中,唯一的锚点是 Marker 类。不过,定位点可以是任何公开 LatLng position 属性和可选 Point anchorPoint 属性(用于计算 pixelOffset,请参阅 InfoWindowOptions)的 MVCObject。anchorPoint 是从锚点位置到 InfoWindow 尖端的偏移量。建议使用 InfoWindowOpenOptions 接口作为此方法的唯一参数。如需防止在打开时更改浏览器焦点,请将 InfoWindowOpenOptions.shouldFocus 设置为 false。
setContent
setContent([content])
参数:
  • content:string|Element|Text optional 此 InfoWindow 要显示的内容。
返回值:无
setHeaderContent
setHeaderContent([headerContent])
参数:
返回值:无
setHeaderDisabled
setHeaderDisabled([headerDisabled])
参数:
返回值:无
setOptions
setOptions([options])
参数:
返回值:无
setPosition
setPosition([position])
参数:
返回值:无
setZIndex
setZIndex(zIndex)
参数:
  • zIndex:number此 InfoWindow 的 z-index。z-index 较大的 InfoWindow 将显示在所有其他 z-index 较小的 InfoWindow 前面。
返回值:无
继承的方法: addListener、bindTo、get、notify、set、setValues、unbind、unbindAll
close
function()
参数:无
每当 InfoWindow 关闭时,系统都会触发此事件。例如,这可能是因为调用了 InfoWindow.close 方法、按了 Esc 键关闭 InfoWindow、点击了关闭按钮或将 InfoWindow 移到了其他地图。
closeclick
function()
参数:无
点击关闭按钮时会触发此事件。
content_changed
function()
参数:无
内容属性更改时会触发此事件。
domready
function()
参数:无
当包含 InfoWindow 内容的 <div> 附加到 DOM 时,系统会触发此事件。如果您要动态构建信息窗口内容,则可能希望监视此事件。
headercontent_changed
function()
参数:无
当 headerContent 属性发生更改时,会触发此事件。
headerdisabled_changed
function()
参数:无
当 headerDisabled 属性发生更改时,会触发此事件。
position_changed
function()
参数:无
位置属性更改时会触发此事件。
visible
function()
参数:无
当 InfoWindow 完全可见时,会触发此事件。当 InfoWindow 移出屏幕然后又移回屏幕时,不会触发此事件。
zindex_changed
function()
参数:无
当 InfoWindow 的 zIndex 发生更改时,会触发此事件。

InfoWindowOptions 接口

google.maps.InfoWindowOptions 接口

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

ariaLabel
可选
类型:string optional
要分配给 InfoWindow 的 AriaLabel。
content
可选
类型:string|Element|Text optional
要在 InfoWindow 中显示的内容。这可以是 HTML 元素、纯文本字符串或包含 HTML 的字符串。InfoWindow 的大小将根据内容进行调整。要设置内容的具体大小,请将内容设置为相应大小的 HTML 元素。
disableAutoPan
可选
类型:boolean optional
默认值:false
停用平移地图功能,以便在信息窗口打开时使其完全可见。
headerContent
可选
类型:string|Element|Text optional
要在 InfoWindow 标题行中显示的内容。这可以是 HTML 元素,也可以是纯文本字符串。InfoWindow 的大小将根据内容进行调整。如需为标题内容设置明确的大小,请将 headerContent 设置为具有该大小的 HTML 元素。
headerDisabled
可选
类型:boolean optional
停用 InfoWindow 中的整个标题行。如果设置为 true,系统会移除标题,从而隐藏标题内容和关闭按钮。
maxWidth
可选
类型:number optional
InfoWindow 的最大宽度,无论内容的宽度如何。只有在调用 open() 之前设置此值,系统才会考虑使用此值。如需在更改内容时更改最大宽度,请依次调用 close()、setOptions() 和 open()。
minWidth
可选
类型:number optional
InfoWindow 的最小宽度,不考虑内容的宽度。使用此属性时,强烈建议将 minWidth 设置为小于地图宽度(以像素为单位)的值。只有在调用 open() 之前设置此值,系统才会考虑使用此值。如需在更改内容时更改最小宽度,请依次调用 close()、setOptions() 和 open()。
pixelOffset
可选
类型:Size optional
信息窗口尖端与地图上信息窗口锚定地理坐标点之间的偏移量(以像素为单位)。如果信息窗口是通过锚点打开的,则 pixelOffset 将根据锚点的 anchorPoint 属性进行计算。
position
可选
类型:LatLng|LatLngLiteral optional
显示此 InfoWindow 的 LatLng。如果 InfoWindow 是通过锚点打开的,则系统会改用锚点的位置。
zIndex
可选
类型:number optional
所有信息窗口按照其 zIndex 的顺序显示在地图上,值较高的信息窗口会显示在值较低的信息窗口前面。默认情况下,InfoWindow 会根据其纬度显示,纬度较低的 InfoWindow 会显示在纬度较高的 InfoWindow 前面。信息窗口始终在标记前面显示。

InfoWindowOpenOptions 接口

google.maps.InfoWindowOpenOptions 接口

用于打开 InfoWindow 的选项

anchor
可选
此 InfoWindow 将定位到的锚点。如果锚点不为 null,InfoWindow 将位于锚点的顶部中心。InfoWindow 将在与锚点(如有)相同的地图或全景图片上呈现。
map
可选
类型:Map|StreetViewPanorama optional
要在其上呈现此 InfoWindow 的地图或全景图片。
shouldFocus
可选
类型:boolean optional
是否在 InfoWindow 打开后将焦点移至其中。如果此属性未设置,或者设置为 null 或 undefined,系统会使用启发法来决定是否应移动焦点。建议您根据需要明确设置此属性,因为启发法可能会发生变化,并且可能不适用于所有用例。