事件监听器: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>
事件列表:
事件 |
说明 |
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 。这表示位置、缩放和地图类型都已完成初始化,但可能还在载入图块。
(自 2.52 开始)
|
posted on 2010-04-07 09:30
Ying-er 阅读(1211)
评论(0) 编辑 收藏 所属分类:
Google Map