事件監聽器: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 閱讀(1221)
評論(0) 編輯 收藏 所屬分類:
Google Map