Подтвердить что ты не робот

Карты Google: как предотвратить перемещение InfoWindow карты

Использование API Карт Google v3.

Я заметил, что если у меня есть маркер карты рядом с краем границы моей карты..., если я нажму кнопку значок маркера, чтобы отображалась InfoWindow, вся моя карта сдвигается так, что маркеры InfoWindow центрированы.

Я не хочу, чтобы моя карта менялась.

Вопрос. Как предотвратить перемещение карты, когда InfoWindows находятся ближе к краю границы карты (что по умолчанию делает InfoWindow центром и сдвигает карту)?

4b9b3361

Ответ 1

Поскольку вы используете v3, вы можете просто не допустить, чтобы infoWindow переместил карту с опцией disableAutoPan, как в следующем примере (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>

Скриншот:

disableAutoPan