2016-09-24 56 views
0

在下面的HTML代碼中,我想在地圖更改(例如縮放,拖動,單擊)時發出提醒。Google地圖addListener不起作用

該警報將在未來更改以顯示拖動,縮放或單擊時的角座標。 「Get Corners」按鈕將被省略(現在完美)。

我已經嘗試了很多來自衆多網站的建議。但仍然沒有成功。

警報的addListener不起作用。同樣使用addDomListener不起作用。這段代碼中的罪魁禍首是什麼?

感謝您的幫助提前!

<!DOCTYPE html> 
<html> 
<head> 
</head>  
<script src="http://maps.googleapis.com/maps/api/js"> 
</script> 

<body> 
<script> 
    var map; 
    function initialize() 
    { 
    var mapOpt = {center:new google.maps.LatLng(41.5,2.0),zoom:10, mapTypeId:google.maps.MapTypeId.SATELLITE}; 
    map=new google.maps.Map(document.getElementById("googleMap"),mapOpt); 
    }; 
</script> 

<script> 
    function getCorners() 
    { 
    var bounds = map.getBounds(); 
    var ne = bounds.getNorthEast(); 
    var sw = bounds.getSouthWest(); 
    document.getElementById('ne').innerHTML = ne; 
    document.getElementById('sw').innerHTML = sw; 
    } 
</script> 

<! THIS addListener SCRIPT DOES NOT WORK> 
<script> 
    google.maps.event.addListener(map, 'idle', function() 
    { 
    window.alert("Map clicked"); 
    }); 
</script> 

<script> 
    google.maps.event.addDomListener(window, "load", initialize); 
</script> 
<p id="ne">NE</p> 
<p id="sw">SW</p> 
<button onclick="getCorners()">Get Corners</button> 

<br><br> 
<div id="googleMap" style="width:500px;height:500px"></div> 
</body> 
</html> 

回答

0

嘗試移動監聽器代碼用來初始化函數

function initialize() 
{ 
    var mapOpt = {center:new google.maps.LatLng(41.5,2.0),zoom:10, mapTypeId:google.maps.MapTypeId.SATELLITE}; 
    map=new google.maps.Map(document.getElementById("googleMap"),mapOpt); 
    google.maps.event.addListener(map, 'idle', function(){ 
     window.alert("Map clicked"); 
    }); 
}; 
+0

@邁克爾和scaisEdge裏面:把中的addListener初始化函數的工作!非常感謝您的快速響應! – henk

+0

@henk如果我的回答是正確的,請將其標記爲已接受...請參閱http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work。 – scaisEdge

1

這是因爲在瀏覽器甚至知道你的地圖對象之前調用google.maps.event.addListener。可能還有控制檯錯誤。 把這段代碼放到initialize()那麼它應該可以工作。

一般來說,在所有的HTML元素被定義之後,包括例如,在所有的腳本之前立即放置所有腳本是可取的。拿着地圖的div。此外,劇本的分裂有點令人困惑,似乎沒有必要。