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

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)
参数
返回值:无
将叠加层添加到地图或全景图。
继承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 轴上的像素跨度。