事件监听器:GEvent
注册监听器:(静态方法)GEvent.addListener(受用对象,待监听事件,事件发生时调用的函数); 示例:显示用户拖动地图后地图中心的纬度和经度。
<!
DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv ="content-type" content ="text/html; charset=utf-8" />
< title > Google Maps JavaScript API Example </ title >
<!-- 使用 script 标签包含 Google 地图,key传递 sensor 参数以指明此应用程序是否使用传感器来确定用户位置 -->
< script src ="http://ditu.google.cn/maps?file=api&v=2&key=abcdefg&sensor=true_or_false"
type ="text/javascript" ></ script >
< script type ="text/javascript" >
function initialize() {
var map = new GMap2(document.getElementById( " map_canvas " ));
map.setCenter( new GLatLng( 38.8894211 , 121.5866657 ), 15 );
// 示例:显示用户拖动地图后地图中心的纬度和经度。
GEvent.addListener(map, " moveend " , function () {
var center = map.getCenter();
alert( " 此时地图中心点的纬经度为: " + center.toString());
});
}
</ script >
</ head >
<!-- 使用onLoad 事件初始化地图对象 -->
< body onload ="initialize()" onunload ="GUnload()" >
<!-- 让其显示在网页中 -->
< div id ="map_canvas" style ="width: 600px; height: 600px" ></ div >
</ body >
</ html >
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv ="content-type" content ="text/html; charset=utf-8" />
< title > Google Maps JavaScript API Example </ title >
<!-- 使用 script 标签包含 Google 地图,key传递 sensor 参数以指明此应用程序是否使用传感器来确定用户位置 -->
< script src ="http://ditu.google.cn/maps?file=api&v=2&key=abcdefg&sensor=true_or_false"
type ="text/javascript" ></ script >
< script type ="text/javascript" >
function initialize() {
var map = new GMap2(document.getElementById( " map_canvas " ));
map.setCenter( new GLatLng( 38.8894211 , 121.5866657 ), 15 );
// 示例:显示用户拖动地图后地图中心的纬度和经度。
GEvent.addListener(map, " moveend " , function () {
var center = map.getCenter();
alert( " 此时地图中心点的纬经度为: " + center.toString());
});
}
</ script >
</ head >
<!-- 使用onLoad 事件初始化地图对象 -->
< body onload ="initialize()" onunload ="GUnload()" >
<!-- 让其显示在网页中 -->
< div id ="map_canvas" style ="width: 600px; height: 600px" ></ div >
</ body >
</ html >
事件列表:
事件 | 说明 |
---|---|
addmaptype(type:GMapType ) | 向地图中添加地图类型时会触发此事件。 |
removemaptype(type:GMapType ) | 从地图中删除地图类型时会触发此事件。 |
click(overlay:GOverlay , latlng:GLatLng , overlaylatlng:GLatLng ) | 用户用鼠标点击地图时会触发此事件。根据所点击的环境的不同以及是否点击了可点击的叠加层,click 事件会传递不同的参数。如果点击的不是可点击叠加层,overlay 参数为 null 并且 latlng 参数包含点击点的地理坐标。如果点击的是clickable 叠加层(如 GMarker 、GPolygon 、GPolyline 或 GInfoWindow ),overlay 参数包含叠加层对象,而 overlaylatlng 参数会包含所点击叠加层的坐标。另外,还会在该叠加层自身上触发 click 事件。 |
dblclick(overlay:GOverlay , latlng:GLatLng ) | 双击地图时会触发此事件。注意,双击标记或其他可点击叠加层时不触发此事件。被双击的点的地理坐标将被传递到 latlng 参数中。overlay 参数始终设置为 null 。 (自 2.83 开始) |
singlerightclick(point:GPoint , src:Element, overlay?:GOverlay ) | 在地图容器中触发 DOM contextmenu 事件时会触发此事件。如果右键点击某个标记或其他可点击叠加层,则该叠加层会传递到 overlay 参数的事件处理程序中。右键点击的这一点的像素坐标(在包含地图的 DOM 元素中)和 DOM 事件的源元素会分别传递到 point 和 src 参数中。注意,如果在启用了双击缩放的情况下进行右键双击,那么,地图会缩小,并且不触发 singlerightclick 事件。但是,如果禁用了双击缩放,会触发两个 singlerightclick 事件。 (自 2.84 开始) |
movestart() | 地图视图开始更改时会触发此事件。执行拖动操作时或调用更改地图视图的方法时也会触发此事件,前者还同时触发 dragstart 事件。 |
move() | 更改地图视图时会触发此事件,并且可能是重复触发。 |
moveend() | 结束地图视图的更改时会触发此事件。 |
zoomend(oldLevel:Number, newLevel:Number) | 地图到达新的缩放级别时会触发此事件。事件处理程序接收先前的缩放级别和新缩放级别作为参数。 |
maptypechanged() | 选择另一地图类型时会触发此事件。 |
infowindowopen() | 打开信息窗口时会触发此事件。 |
infowindowbeforeclose() | 关闭信息窗口前会触发此事件。 (自 2.83 开始) |
infowindowclose() | 关闭信息窗口时会触发此事件。此事件在触发前会触发 infowindowbeforeclose 事件。如果通过再次调用 openInfoWindow*() 在其他点重新打开当前已打开的信息窗口,则会先后触发 infowindowbeforeclose 、infowindowclose 和 infowindowopen 事件。 |
addoverlay(overlay:GOverlay ) | 当使用 addOverlay() 方法向地图中添加单个叠加层时会触发此事件。新的叠加层会作为参数 overlay 传递到事件处理程序中。 |
removeoverlay(overlay:GOverlay ) | 当使用 removeOverlay() 方法删除单个叠加层时会触发此事件。删除的叠加层会作为参数 overlay 传递到事件处理程序中。 |
clearoverlays() | 当使用 clearOverlays() 方法一次性删除全部叠加层时会触发此事件。 |
mouseover(latlng:GLatLng ) | 当用户将鼠标从地图外移动到地图上时会触发此事件。 |
mouseout(latlng:GLatLng ) | 当用户将鼠标移离地图时会触发此事件。 |
mousemove(latlng:GLatLng ) | 当用户在地图中移动鼠标时会触发此事件。 |
dragstart() | 当用户开始拖动地图时会触发此事件。 |
drag() | 当用户拖动地图时会重复触发此事件。 |
dragend() | 当用户停止拖动地图时会触发此事件。 |
load() | 当完成地图设置时会触发此事件,并且 isLoaded() 会返回 true 。这表示位置、缩放和地图类型都已完成初始化,但可能还在载入图块。 ( |