2014-02-12 64 views
3

我想,當變焦在我的地圖變化來檢測,我嘗試使用這些:如何檢測微軟Bing地圖縮放變化

Microsoft.Maps.Events.addHandler(map, "targetviewchanged", console.log('targetviewchanged')); 
Microsoft.Maps.Events.addHandler(map, "viewchangestart", console.log('viewchangestart')); 

但當地圖改變

觸發一次

我怎樣才能檢測到變焦的變化?

預先感謝您

回答

9

嘗試以下操作:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
    <head> 
     <title>Event view change start</title> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
     <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script> 

     <script type="text/javascript"> 
     var map, lastZoomLevel = 0; 

     function getMap() 
     { 
     map = new Microsoft.Maps.Map(document.getElementById('myMap'), {credentials: 'Your Bing Maps Key'}); 

     lastZoomLevel = map.getZoom(); 
     Microsoft.Maps.Events.addHandler(map, 'viewchangeend', viewChanged); 
     } 

     function viewChanged(e) 
     { 
     if(lastZoomLevel != map.getZoom()){ 
      lastZoomLevel = map.getZoom(); 
      alert("Map Zoomed"); 
     } 
     } 
     </script> 
    </head> 
    <body onload="getMap();"> 
     <div id='myMap' style="; width:400px; height:400px;"></div> 
    </body> 
</html>