DOM elements

OverlayView

google.maps.OverlayView

如果您想在地图上显示自定义类型的叠加层对象,则可以实现此类。

继承这个类,方法是设置叠加层的原型:MyOverlay.prototype = new google.maps.OverlayView();OverlayView 构造函数一定是空函数。

您必须实现三种方法:onAdd()draw()onRemove()

  • onAdd() 方法中,您应创建 DOM 对象并将其作为窗格的子对象附加。
  • draw() 方法中,您应定位这些元素。
  • onRemove() 方法中,您应从 DOM 中移除对象。
您必须使用有效的 Map 对象调用 setMap(),以触发对 onAdd() 方法和 setMap(null) 的调用,从而触发 onRemove() 方法。setMap() 方法可以在构建时调用,也可以在之后移除叠加层后任何时间重新显示时调用。然后,每当地图属性发生变化(例如缩放、中心或地图类型)发生变化时,系统就会调用 draw() 方法。

此类扩展了 MVCObject

通过调用 const {OverlayView} = await google.maps.importLibrary("maps")const {OverlayView} = await google.maps.importLibrary("streetView") 进行访问。请参阅 Maps JavaScript API 中的库

OverlayView
OverlayView()
参数:无
创建 OverlayView
preventMapHitsAndGesturesFrom
preventMapHitsAndGesturesFrom(element)
参数
返回值:无
用于停止对相应元素执行点击、点按、拖动和滚轮事件的操作,使其最多显示在地图上。使用此方法可阻止地图拖动和缩放,以及地图“点击”事件。
preventMapHitsFrom
preventMapHitsFrom(element)
参数
返回值:无
停止点击或点按元素直到冒出地图为止。使用此参数可防止地图触发“点击”事件。
draw
draw()
参数:无
返回值:无
实现此方法可绘制或更新叠加层。使用 Project.fromLatLngToDivPixel() 中的位置正确确定叠加层相对于 MapPanes 的位置。此方法在 onAdd() 之后调用,并且在更改缩放或中心时调用。不建议在该方法中执行计算开销高的工作。
getMap
getMap()
参数:无
getPanes
getPanes()
参数:无
返回值MapPanes|null
返回可在其中呈现此 OverlayView 的窗格。在 API 调用 onAdd 之前,窗格不会初始化。
getProjection
getProjection()
参数:无
返回与此 OverlayView 关联的 MapCanvasProjection 对象。在 API 调用 onAdd 之前,该投影不会初始化。
onAdd
onAdd()
参数:无
返回值:无
实现此方法可初始化叠加层 DOM 元素。使用有效地图调用 setMap() 后,调用此方法一次。此时将会初始化窗格和投影。
onRemove
onRemove()
参数:无
返回值:无
实现此方法即可从 DOM 中移除元素。调用 setMap(null) 之后立即调用此方法。
setMap
setMap(map)
参数
  • mapMap|StreetViewPanorama optional 地图或全景图片。如果为 null,则图层将被移除。
返回值:无
将叠加层添加到地图或全景图。
继承的设置addListenerbindTogetnotifysetsetValuesunbindunbindAll

MapPanes 接口

google.maps.MapPanes接口

floatPane
类型Element
此窗格包含信息窗口。该窗格位于所有地图叠加层之上。(窗格 4)
mapPane
类型Element
此窗格是最下面的窗格,位于图块之上。它不会接收 DOM 事件。(窗格 0)。
markerLayer
类型Element
此窗格包含标记。它不会接收 DOM 事件。(窗格 2)。
overlayLayer
类型Element
此窗格包含折线、多边形、地面叠加层和图块图层叠加层。它不会接收 DOM 事件。(窗格 1)。
overlayMouseTarget
类型Element
此窗格包含接收 DOM 事件的元素。(窗格 3)。

MapCanvasProjection 接口

google.maps.MapCanvasProjection接口

该对象可从绘制方法内向 OverlayView 提供。在调用绘制之前,系统无法保证对其进行初始化。

fromContainerPixelToLatLng
fromContainerPixelToLatLng(pixel[, noClampNoWrap])
参数
  • pixelPoint optional
  • noClampNoWrapboolean optional
返回值LatLng|null
根据地图容器中的像素坐标计算地理坐标。
fromDivPixelToLatLng
fromDivPixelToLatLng(pixel[, noClampNoWrap])
参数
  • pixelPoint optional
  • noClampNoWrapboolean optional
返回值LatLng|null
根据存放可拖动地图的 div 中的像素坐标计算地理坐标。
fromLatLngToContainerPixel
fromLatLngToContainerPixel(latLng)
参数
返回值Point|null
计算地图容器元素中给定地理位置的像素坐标。
fromLatLngToDivPixel
fromLatLngToDivPixel(latLng)
参数
返回值Point|null
计算存放可拖动地图的 DOM 元素中指定地理位置的像素坐标。
getVisibleRegion
getVisibleRegion()
参数:无
返回值VisibleRegion|null
地图的可见区域。如果地图没有大小,则返回 null。如果 OverlayView 位于 StreetViewPanorama 上,则返回 null
getWorldWidth
getWorldWidth()
参数:无
返回值number
当前缩放级别的世界宽度(以像素为单位)。对于方向角为 90 度或 270 度的投影,这对应于 Y 轴上的像素跨度。