谷歌地图:如何防止InfoWindow移动地图

时间:2010-03-21 22:25:31

标签: javascript google-maps google-maps-api-3

使用Google Maps API v3。

我注意到如果我在地图边框的边缘附近有一个地图标记...如果我点击了 标记图标使InfoWindow显示,我的整个地图移动使 标记InfoWindow居中。

我不希望我的地图转移。

问题:当InfoWindows接近地图边框的末尾时,如何阻止地图移动(这会导致InfoWindow默认居中并移动地图)?

2 个答案:

答案 0 :(得分:49)

由于您使用的是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

答案 1 :(得分:0)

agm-marker-info有一个名为[disableAutoPan]的属性,将其设置为false不会移动位于地图边框边缘附近的地​​图InfoWindows。

<agm-marker-info [disableAutoPan]="false">
    <b> Marker Info: "A" </b>
</agm-marker-info>