2010-03-21 3 views
24

Utilisation de Google Maps API v3.Google Maps: Comment empêcher InfoWindow de déplacer la carte?

je remarquai que si j'ai un marqueur de carte à proximité du bord de ma frontière carte ... que si je clique sur l'icône marqueur afin que le InfoWindow affiche, mes changements de carte entiers de sorte que les marqueurs InfoWindow est centrée .

Je ne veux pas que ma carte se décale.

Question: Comment puis-je empêcher la carte de se déplacer lorsque InfoWindows sont à la fin de la frontière de la carte (ce qui provoque la InfoWindow par défaut au centre & déplacer la carte)?

Répondre

47

Puisque vous utilisez v3, vous pouvez simplement empêcher le InfoWindow de se déplacer la carte avec l'option disableAutoPan, comme dans l'exemple suivant (API Reference):

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Google Maps disableAutoPan Demo</title> 
    <script src="http://maps.google.com/maps/api/js?sensor=false" 
      type="text/javascript"></script> 
</head> 
<body> 

    <div id="map" style="width: 200px; height: 200px"></div> 

    <script type="text/javascript"> 

    var myLatlng = new google.maps.LatLng(37.44, -122.14); 
    var myOptions = { 
     zoom: 4, 
     center: myLatlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 

    var map = new google.maps.Map(document.getElementById("map"), myOptions); 

    var infowindow = new google.maps.InfoWindow({ 
     content: 'Test', 
     disableAutoPan: true 
    }); 

    var marker = new google.maps.Marker({ 
     position: myLatlng, 
     map: map, 
     title: 'Test Marker' 
    }); 

    google.maps.event.addListener(marker, 'click', function() { 
    infowindow.open(map, marker); 
    }); 

    </script> 
</body> 
</html> 

Screenshot:

disableAutoPan

+5

Pas vrai @JitendraPancholi et nous sommes d'accord que ce genre de commentaires ne sont pas constructifs. – Nicolai

Questions connexes