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)
参数
返回值:None
停止元素上的点击、点按、拖动和滚轮事件从气泡向上弹出地图。使用它来防止地图拖动和缩放,以及地图“点击”事件。
preventMapHitsFrom
preventMapHitsFrom(element)
参数
返回值:None
停止点击或点按元素,使其不再向上弹出地图。使用此属性可以防止地图触发“点击”事件。
draw
draw()
参数:无
返回值:None
实现此方法可绘制或更新叠加层。使用 projects.fromLatLngToDivPixel() 中的位置来正确定位叠加层相对于 MapPanes 的位置。此方法在 onAdd() 之后调用,并在缩放或中心改变时调用。不建议使用此方法执行计算开销很大的工作。
getMap
getMap()
参数:无
getPanes
getPanes()
参数:无
返回值MapPanes|null
返回可在其中呈现此 OverlayView 的窗格。在 API 调用 onAdd 之前,窗格不会初始化。
getProjection
getProjection()
参数:无
返回与此 OverlayView 关联的 MapCanvasProjection 对象。在 API 调用 onAdd 之前,投影不会初始化。
onAdd
onAdd()
参数:无
返回值:None
实现此方法可初始化叠加层 DOM 元素。在使用有效地图调用 setMap() 后,系统会调用该方法一次。此时将会初始化窗格和投影。
onRemove
onRemove()
参数:无
返回值:None
实现此方法即可将您的元素从 DOM 中移除。调用 setMap(null) 之后立即调用此方法。
setMap
setMap(map)
参数
  • mapMap|StreetViewPanorama optional 地图或全景图片。如果为 null,该图层将被移除。
返回值:None
将叠加层添加到地图或全景图。
继承的样式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 轴上的像素跨度。