2014-01-08 142 views
0

我們在解開地圖事件時遇到了麻煩......我們嘗試了下面的代碼,但地圖平移事件只是第一次被觸發。谷歌地圖V3:觸發地圖平移事件

<!DOCTYPE html> 
<html> 
    <head> 
     <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
     <style type="text/css"> 
      html { height: 100% } 
      body { height: 100%; margin: 0; padding: 0 } 
      #map-canvas { height: 100% } 
     </style> 
     <script charset="UTF-8" type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=<key>&sensor=false"></script> 

     <script type="text/javascript"> 
      function initialize() { 
       var mouseDown; 
       var mapOptions = { 
        center: new google.maps.LatLng(-34.397, 150.644), 
        zoom: 8 
       }; 
       var map = new google.maps.Map(document.getElementById("map-canvas"), 
         mapOptions); 
       map.addListener("center_changed", function() { 

        // alert("center_changed"); 
        console.log("center_changed"); 

       }); 

       map.addListener("mouseup", function() { 
        this.mouseDown = false; 
        // alert("mouseup"); 
       }); 

       map.addListener("mousedown", function() { 
        this.mouseDown = true; 
        // alert("mousedown"); 
       }); 
      } 

      google.maps.event.addDomListener(window, 'load', initialize); 

      /*  google.maps.event.addListener('dragend', function() { 
      return function() { 
      console.log("Drag Event Called"); 

      } 
      }); 
      */ 


     </script> 
    </head> 
    <body> 
     <div id="map-canvas"></div> 
    </body> 
</html> 

請提供思路來克服這個...

+0

我也面臨同樣的問題。請爲我提供答案..... – Sridhar

+2

我的代碼中沒有看到任何「泛」事件,並且我沒有看到任何嘗試在代碼中觸發事件。也許它只是你的英語,但請解決你的問題是可以理解的。 – TMS

回答

2

你可以試試這個。

map.addListener("dragend", function() { 

        // alert("center_changed"); 
        count++; 
        console.log("center_changed"+count); 
        //ur method ..... 

       }); 
+0

謝謝,我對這個小錯誤有罪.. –

+1

雖然沒有必要在initialize()之上聲明map。 – putvande

+0

是的這是工作,,,, – Sridhar

3

而不是map.addListener你應該嘗試google.maps.event.addDomListener代替:

google.maps.event.addDomListener(map, 'dragend', function() { 
    console.log('center changed'); 
}); 
+0

謝謝你,你的線索... –

+0

是的,只是意識到你在代碼中註釋掉的那一點就是你想要的幫助。我已經用'dragend'事件更新了我的答案。我建議你使用'addDomListener',因爲我相信這是首選的方法。 – Andy

+0

是的這樣....再次感謝... –