Event system

event 命名空间

命名空间 google.maps.event
库 "core"

所有公共事件函数的命名空间

const {event} = await google.maps.importLibrary("core");
addListener
addListener(instance, eventName, handler)
参数:
返回值:MapsEventListener
将指定侦听器函数添加到指定对象实例的指定事件名称。返回监听器的标识符,该标识符可与 removeListener() 配合使用。
addListenerOnce
addListenerOnce(instance, eventName, handler)
参数:
返回值:MapsEventListener
与 addListener 类似,但该处理程序会在处理完第一个事件后自我删除。
clearInstanceListeners
clearInstanceListeners(instance)
参数:
返回值:void
对于指定实例,删除其所有事件的所有侦听器。
clearListeners
clearListeners(instance, eventName)
参数:
  • instance: Object
  • eventName: string
返回值:void
对于指定实例,删除其指定事件的所有侦听器。
hasListeners
hasListeners(instance, eventName)
参数:
  • instance: Object
  • eventName: string
返回值:boolean
返回给定实例上是否存在给定事件的监听器。可用于节省计算开销较大的事件详情的计算。
removeListener
removeListener(listener)
参数:
返回值:void
移除指定的监听器,该监听器应由上述 addListener 返回。等同于调用 listener.remove()。
trigger
trigger(instance, eventName, eventArgs)
参数:
  • instance: Object
  • eventName: string
  • eventArgs: ...*
返回值:void
触发给定事件。eventName 后的所有参数都以参数的形式传递到侦听器。
addDomListener
addDomListener(instance, eventName, handler[, capture])
参数:
  • instance: Object
  • eventName: string
  • handler: Function
  • capture: boolean optional
返回值:MapsEventListener
跨浏览器事件处理程序注册。可以通过调用该函数所返回句柄的 eventRemoveListener(handle) 来删除此监听器。
addDomListenerOnce
addDomListenerOnce(instance, eventName, handler[, capture])
参数:
  • instance: Object
  • eventName: string
  • handler: Function
  • capture: boolean optional
返回值:MapsEventListener
将在第一个事件之后删除侦听器的 addDomListener 周围的包装。

MapsEventListener 接口

接口 google.maps.MapsEventListener

一个事件监听器,由 google.maps.event.addListener() 及其好友创建。

remove
remove()
参数:无
返回值:void
移除监听器。

调用 listener.remove() 等同于 google.maps.event.removeListener(listener)。

MVCObject 类

类 google.maps.MVCObject
由 BicyclingLayer, Circle, Data, GroundOverlay, ImageMapType, InfoWindow, Map, Map, MapTypeRegistry, MVCArray, OverlayView, Polygon, Polyline, Rectangle, StreetViewCoverageLayer, StreetViewPanorama, StreetViewPanorama, StyledMapType, TrafficLayer, TransitLayer, WebGLOverlayView, Autocomplete, DirectionsRenderer, DrawingManager, KmlLayer, Marker, SearchBox 扩展
库 "core"

实现 KVO 的基类。

MVCObject 构造函数保证是一个空函数,因此您可以通过编写 MySubclass.prototype = new google.maps.MVCObject(); 来继承 MVCObject。除非另有说明,否则该 API 中的其他类并非如此,并且不支持从该 API 中的其他类继承。

const {MVCObject} = await google.maps.importLibrary("core");
MVCObject
MVCObject()
参数:无
创建一个 MVCObject。
addListener
addListener(eventName, handler)
参数:
返回值:MapsEventListener
将给定的监听器函数添加到给定的事件名称。返回此监听器的标识符,该标识符可与 google.maps.event.removeListener 搭配使用。
bindTo
bindTo(key, target[, targetKey, noNotify])
参数:
  • key: string
  • target: MVCObject
  • targetKey: string optional
  • noNotify: boolean optional
返回值:无
将视图绑定到模型。
get
get(key)
参数:
  • key: string
返回值:?
获取值。
notify
notify(key)
参数:
  • key: string
返回值:无
通知所有观察者此属性有所改变。这会通知绑定到对象属性的对象以及绑定到的对象。
set
set(key, value)
参数:
  • key: string
  • value: *
返回值:无
设置值。
setValues
setValues([values])
参数:
返回值:无
设置键值对集合。
unbind
unbind(key)
参数:
  • key: string
返回值:无
删除绑定。取消绑定会将未绑定属性设置为当前值。将不会通知该对象,因为值尚未更改。
unbindAll
unbindAll()
参数:无
返回值:无
删除所有绑定。

MVCArray 类

class google.maps.MVCArray<T> extends MVCObject
library "core"

const {MVCArray} = await google.maps.importLibrary("core");
MVCArray
MVCArray([array])
参数:
  • array: Array<T> optional
一个易变的 MVC 数组。
clear
clear()
参数:无
返回值:无
从数组中删除所有元素。
forEach
forEach(callback)
参数:
  • callback: function(T, number): void
返回值:无
循环访问每个元素,调用所提供的回调。为每个元素调用回调,如:回调 (element, index)。
getArray
getArray()
参数:无
返回值:Array<T>
返回对底层数组的参考。警告:如果数组发生变化,则该对象不会触发任何事件。
getAt
getAt(i)
参数:
  • i: number
返回值:T
返回指定索引处的元素。
getLength
getLength()
参数:无
返回值:number
传回此数组中的元素数。
insertAt
insertAt(i, elem)
参数:
  • i: number
  • elem: T
返回值:无
在指定索引处插入元素。
pop
pop()
参数:无
返回值:T
删除数组的最后一个元素并传回该元素。
push
push(elem)
参数:
  • elem: T
返回值:number
将一个元素添加到数组末尾并传回数组的新长度。
removeAt
removeAt(i)
参数:
  • i: number
返回值:T
从指定索引处删除元素。
setAt
setAt(i, elem)
参数:
  • i: number
  • elem: T
返回值:无
在指定索引处设置元素。
继承的方法: addListener、bindTo、get、notify、set、setValues、unbind、unbindAll
insert_at
function(index)
参数:
  • index: number
调用 insertAt() 时会触发此事件。该事件会传递已传递给 insertAt() 的索引。
remove_at
function(index, removed)
参数:
  • index: number
  • removed: T 从 index 处的数组中移除的元素。
调用 removeAt() 时会触发此事件。该事件会传递给 removeAt() 的索引以及从数组中移除的元素。
set_at
function(index, previous)
参数:
  • index: number
  • previous: T 之前位于数组中 index 处的元素。
调用 setAt() 时会触发此事件。该事件会传递之前传递给 setAt() 的索引,以及之前位于数组中该索引处的元素。

ErrorEvent 接口

接口 google.maps.ErrorEvent

与错误关联的事件。

error
类型:Error
与事件相关的错误。