注冊(cè)監(jiān)聽(tīng)器:(靜態(tài)方法)GEvent.addListener(受用對(duì)象,待監(jiān)聽(tīng)事件,事件發(fā)生時(shí)調(diào)用的函數(shù)); 示例:顯示用戶拖動(dòng)地圖后地圖中心的緯度和經(jīng)度。
<!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 標(biāo)簽包含 Google 地圖,key傳遞 sensor 參數(shù)以指明此應(yīng)用程序是否使用傳感器來(lái)確定用戶位置-->
<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);
//示例:顯示用戶拖動(dòng)地圖后地圖中心的緯度和經(jīng)度。
GEvent.addListener(map, "moveend", function() {
var center= map.getCenter();
alert("此時(shí)地圖中心點(diǎn)的緯經(jīng)度為:"+center.toString());
});
}
</script>
</head>
<!--使用onLoad 事件初始化地圖對(duì)象-->
<body onload="initialize()" onunload="GUnload()">
<!--讓其顯示在網(wǎng)頁(yè)中-->
<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 標(biāo)簽包含 Google 地圖,key傳遞 sensor 參數(shù)以指明此應(yīng)用程序是否使用傳感器來(lái)確定用戶位置-->
<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);
//示例:顯示用戶拖動(dòng)地圖后地圖中心的緯度和經(jīng)度。
GEvent.addListener(map, "moveend", function() {
var center= map.getCenter();
alert("此時(shí)地圖中心點(diǎn)的緯經(jīng)度為:"+center.toString());
});
}
</script>
</head>
<!--使用onLoad 事件初始化地圖對(duì)象-->
<body onload="initialize()" onunload="GUnload()">
<!--讓其顯示在網(wǎng)頁(yè)中-->
<div id="map_canvas" style="width: 600px; height: 600px"></div>
</body>
</html>
事件列表:
事件 | 說(shuō)明 |
---|---|
addmaptype(type:GMapType) |
向地圖中添加地圖類型時(shí)會(huì)觸發(fā)此事件。 |
removemaptype(type:GMapType) |
從地圖中刪除地圖類型時(shí)會(huì)觸發(fā)此事件。 |
click(overlay:GOverlay, latlng:GLatLng, overlaylatlng:GLatLng)
|
用戶用鼠標(biāo)點(diǎn)擊地圖時(shí)會(huì)觸發(fā)此事件。根據(jù)所點(diǎn)擊的環(huán)境的不同以及是否點(diǎn)擊了可點(diǎn)擊的疊加層,click
事件會(huì)傳遞不同的參數(shù)。如果點(diǎn)擊的不是可點(diǎn)擊疊加層,overlay 參數(shù)為 null 并且
latlng 參數(shù)包含點(diǎn)擊點(diǎn)的地理坐標(biāo)。如果點(diǎn)擊的是clickable 疊加層(如 GMarker 、GPolygon 、GPolyline 或 GInfoWindow ),overlay 參數(shù)包含疊加層對(duì)象,而
overlaylatlng 參數(shù)會(huì)包含所點(diǎn)擊疊加層的坐標(biāo)。另外,還會(huì)在該疊加層自身上觸發(fā) click 事件。
|
dblclick(overlay:GOverlay, latlng:GLatLng) |
雙擊地圖時(shí)會(huì)觸發(fā)此事件。注意,雙擊標(biāo)記或其他可點(diǎn)擊疊加層時(shí)不觸發(fā)此事件。被雙擊的點(diǎn)的地理坐標(biāo)將被傳遞到 latlng
參數(shù)中。overlay 參數(shù)始終設(shè)置為 null 。
(自 2.83 開(kāi)始) |
singlerightclick(point:GPoint, src:Element,
overlay?:GOverlay) |
在地圖容器中觸發(fā) DOM contextmenu
事件時(shí)會(huì)觸發(fā)此事件。如果右鍵點(diǎn)擊某個(gè)標(biāo)記或其他可點(diǎn)擊疊加層,則該疊加層會(huì)傳遞到 overlay
參數(shù)的事件處理程序中。右鍵點(diǎn)擊的這一點(diǎn)的像素坐標(biāo)(在包含地圖的 DOM 元素中)和 DOM 事件的源元素會(huì)分別傳遞到 point 和
src 參數(shù)中。注意,如果在啟用了雙擊縮放的情況下進(jìn)行右鍵雙擊,那么,地圖會(huì)縮小,并且不觸發(fā)
singlerightclick 事件。但是,如果禁用了雙擊縮放,會(huì)觸發(fā)兩個(gè)
singlerightclick 事件。
(自 2.84 開(kāi)始) |
movestart()
|
地圖視圖開(kāi)始更改時(shí)會(huì)觸發(fā)此事件。執(zhí)行拖動(dòng)操作時(shí)或調(diào)用更改地圖視圖的方法時(shí)也會(huì)觸發(fā)此事件,前者還同時(shí)觸發(fā) dragstart
事件。 |
move() |
更改地圖視圖時(shí)會(huì)觸發(fā)此事件,并且可能是重復(fù)觸發(fā)。 |
moveend() |
結(jié)束地圖視圖的更改時(shí)會(huì)觸發(fā)此事件。 |
zoomend(oldLevel:Number,
newLevel:Number) |
地圖到達(dá)新的縮放級(jí)別時(shí)會(huì)觸發(fā)此事件。事件處理程序接收先前的縮放級(jí)別和新縮放級(jí)別作為參數(shù)。 |
maptypechanged()
|
選擇另一地圖類型時(shí)會(huì)觸發(fā)此事件。 |
infowindowopen()
|
打開(kāi)信息窗口時(shí)會(huì)觸發(fā)此事件。 |
infowindowbeforeclose()
|
關(guān)閉信息窗口前會(huì)觸發(fā)此事件。
(自 2.83 開(kāi)始) |
infowindowclose()
|
關(guān)閉信息窗口時(shí)會(huì)觸發(fā)此事件。此事件在觸發(fā)前會(huì)觸發(fā) infowindowbeforeclose 事件。如果通過(guò)再次調(diào)用
openInfoWindow*() 在其他點(diǎn)重新打開(kāi)當(dāng)前已打開(kāi)的信息窗口,則會(huì)先后觸發(fā)
infowindowbeforeclose 、infowindowclose 和
infowindowopen 事件。 |
addoverlay(overlay:GOverlay) |
當(dāng)使用 addOverlay() 方法向地圖中添加單個(gè)疊加層時(shí)會(huì)觸發(fā)此事件。新的疊加層會(huì)作為參數(shù)
overlay 傳遞到事件處理程序中。 |
removeoverlay(overlay:GOverlay)
|
當(dāng)使用 removeOverlay() 方法刪除單個(gè)疊加層時(shí)會(huì)觸發(fā)此事件。刪除的疊加層會(huì)作為參數(shù)
overlay 傳遞到事件處理程序中。 |
clearoverlays()
|
當(dāng)使用 clearOverlays() 方法一次性刪除全部疊加層時(shí)會(huì)觸發(fā)此事件。 |
mouseover(latlng:GLatLng) |
當(dāng)用戶將鼠標(biāo)從地圖外移動(dòng)到地圖上時(shí)會(huì)觸發(fā)此事件。 |
mouseout(latlng:GLatLng) |
當(dāng)用戶將鼠標(biāo)移離地圖時(shí)會(huì)觸發(fā)此事件。 |
mousemove(latlng:GLatLng) |
當(dāng)用戶在地圖中移動(dòng)鼠標(biāo)時(shí)會(huì)觸發(fā)此事件。 |
dragstart()
|
當(dāng)用戶開(kāi)始拖動(dòng)地圖時(shí)會(huì)觸發(fā)此事件。 |
drag() |
當(dāng)用戶拖動(dòng)地圖時(shí)會(huì)重復(fù)觸發(fā)此事件。 |
dragend() |
當(dāng)用戶停止拖動(dòng)地圖時(shí)會(huì)觸發(fā)此事件。 |
load() |
當(dāng)完成地圖設(shè)置時(shí)會(huì)觸發(fā)此事件,并且 isLoaded() 會(huì)返回
true 。這表示位置、縮放和地圖類型都已完成初始化,但可能還在載入圖塊。
(自 2.52 開(kāi)始) |