Google Map API v3 - 缩放参数不起作用

时间:2015-02-06 19:09:49

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

我正在使用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);    
}

谢谢!

2 个答案:

答案 0 :(得分:0)

你试过吗? :

map.setZoom(10);

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

事实上,如果你想查看它是否有效,可以在chrome中设置一个断点,在渲染了map之后设置一个断点并在本地窗口中运行该代码。

答案 1 :(得分:0)

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

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

如果您只有一个职位,请不要使用google.maps.Map.fitBounds。