事件监听器: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&amp;v=2&amp;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叠加层(如 GMarkerGPolygonGPolylineGInfoWindow),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 事件的源元素会分别传递到 pointsrc 参数中。注意,如果在启用了双击缩放的情况下进行右键双击,那么,地图会缩小,并且不触发 singlerightclick 事件。但是,如果禁用了双击缩放,会触发两个 singlerightclick 事件。

(自 2.84 开始)

movestart() 地图视图开始更改时会触发此事件。执行拖动操作时或调用更改地图视图的方法时也会触发此事件,前者还同时触发 dragstart 事件。
move() 更改地图视图时会触发此事件,并且可能是重复触发。
moveend() 结束地图视图的更改时会触发此事件。
zoomend(oldLevel:Number, newLevel:Number) 地图到达新的缩放级别时会触发此事件。事件处理程序接收先前的缩放级别和新缩放级别作为参数。
maptypechanged() 选择另一地图类型时会触发此事件。
infowindowopen() 打开信息窗口时会触发此事件。
infowindowbeforeclose() 关闭信息窗口前会触发此事件。

(自 2.83 开始)

infowindowclose() 关闭信息窗口时会触发此事件。此事件在触发前会触发 infowindowbeforeclose 事件。如果通过再次调用 openInfoWindow*() 在其他点重新打开当前已打开的信息窗口,则会先后触发 infowindowbeforecloseinfowindowcloseinfowindowopen 事件。
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 阅读(1037) 评论(0)  编辑  收藏 所属分类: Google Map

只有注册用户登录后才能发表评论。


网站导航: