2016-08-17 96 views
-1

我想在InfoWindow關閉時縮小地圖。我試過這個。如何在Google地圖中關閉InfoWindow時縮小地圖?

google.maps.event.addListener(marker, 'click', (function(marker, i) { 
     return function() { 
      infoWindow.setContent(infoWindowContent[i][0]); 
      infoWindow.open(map); 
      map.panTo(this.getPosition()); 
      map.setZoom(6); 
     } 

    })(marker, i)); 

    google.maps.event.addListener(marker, 'closeclick', (function(marker, i){ 
     return function() { 
       map.panTo(this.getPosition()); 
       map.setZoom(2); 
     } 
    })(marker, i)); 

但它不工作。誰能幫我!! 在我的地圖中有一些標記,當單擊一個標記時,它將放大到該位置,並且我想在InfoWindow關閉時應用縮小。

+0

的標記沒有一個 'closeclick' 事件,你要聽有關該事件信息窗口。 – geocodezip

回答

0

A google.maps.Marker沒有'closeclick'事件,您需要在InfoWindow上監聽該事件。

google.maps.event.addListener(infoWindow, 'closeclick', function() { 
    map.panTo(this.getPosition()); 
    map.setZoom(2); 
}); 

proof of concept fiddle

代碼片段:

function initialize() { 
 
    var map = new google.maps.Map(
 
    document.getElementById("map_canvas"), { 
 
     center: new google.maps.LatLng(37.4419, -122.1419), 
 
     zoom: 13, 
 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
 
    }); 
 
    var marker = new google.maps.Marker({ 
 
    map: map, 
 
    position: map.getCenter() 
 
    }); 
 
    var infoWindow = new google.maps.InfoWindow(); 
 
    var infoWindowContent = []; 
 
    infoWindowContent[0] = ["test"]; 
 
    var i = 0; 
 
    google.maps.event.addListener(marker, 'click', (function(marker, i) { 
 
    return function() { 
 
     infoWindow.setContent(infoWindowContent[i][0]); 
 
     infoWindow.open(map, marker); 
 
     map.panTo(this.getPosition()); 
 
     map.setZoom(6); 
 
    } 
 

 
    })(marker, i)); 
 

 
    google.maps.event.addListener(infoWindow, 'closeclick', function() { 
 
    map.panTo(this.getPosition()); 
 
    map.setZoom(2); 
 
    }); 
 
} 
 
google.maps.event.addDomListener(window, "load", initialize);
html, 
 
body, 
 
#map_canvas { 
 
    height: 100%; 
 
    width: 100%; 
 
    margin: 0px; 
 
    padding: 0px 
 
}
<script src="https://maps.googleapis.com/maps/api/js"></script> 
 
<div id="map_canvas"></div>

+0

謝謝你,她的工作! –

相關問題