2016-08-17 88 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

谢谢你,她的工作! –

相关问题