谷歌地图 API v3 - 缩放参数不起作用



我使用的是Google API v3,但参数"zoom:10"无效。我总是调用谷歌api,缩放是最大的,我必须点击"-"大约5次才能获得所需的缩放。我试着设置zoom:1和zoom:100,但什么也没发生。也许这个参数被覆盖了,但我看不出在哪里。

这是我的代码:

function viewOnMap(campus_name, lat, long, address1, address2){
  var locations = [ [ campus_name, lat, long, 1 ] ];
  var map = new google.maps.Map(document.getElementById('google_map'), {
    zoom : 10,
    center : new google.maps.LatLng(lat, long),  //lat long site
    mapTypeId : google.maps.MapTypeId.ROADMAP
  });
  var infowindow = new google.maps.InfoWindow();
  var marker, i;
  var bounds = new google.maps.LatLngBounds();
  for (i = 0; i < locations.length; i++) {
    marker = new google.maps.Marker(
            {
                position : new google.maps.LatLng(lat,
                        long),
                        map : map,
                        icon:'images/pin.png'
            });
    var pos = new google.maps.LatLng(lat, long);
    bounds.extend(pos);
    google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
                var content = '<div id="content">'+
                '<div id="siteNotice">Site name: '+ (campus_name) +
                '</div>'+
                '<div id="bodyContent">Address: '+ (address1) +
                '</div>'+
                '<div id="bodyContent1">'+ (address2) +
                '</div>'+
                '</div>';
            }
            infowindow.setContent(content);
            infowindow.open(map, marker);
        };
    })(marker, i));
  }
  map.fitBounds(bounds);    
}

谢谢!

对google.maps.Map.fitBounds的调用会覆盖MapOptions中的固定缩放。

如果只向google.maps.LatLngBounds添加一个位置,然后使用google.maps.Map.fitBounds,它将始终缩放到可能的最大缩放。

如果你只有一个位置,不要使用google.maps.Map.fitBounds.

你试过了吗?:

map.setZoom(10);

我甚至会在你设置标记后尝试设置它。

事实上,如果您想看看它是否有效,请在chrome中调试代码,在映射渲染后设置一个断点,并在本地窗口中运行该代码。

最新更新