谷歌地图缩小限制

26

如何设置地图的缩小限制?当前,我可以缩小到看到多个世界地图:

缩小过度

JS:

var map;

var all_coor = <?php echo json_encode($addresses); ?>;
var dub = <?php echo json_encode($testadd); ?>;

function initialize() {
var MainLatlng = new google.maps.LatLng(-74.337724,-49.69693);

  var mapOptions = {
    zoom: 7,
    center: new google.maps.LatLng(31.386692,-12.700747)
  };
  map = new google.maps.Map(document.getElementById('map-canvas'),
      mapOptions);

 var markerr = new google.maps.Marker({
      position: MainLatlng ,
      map: map,
      title: 'Main',
      animation: google.maps.Animation.DROP
  });

for (var t = 0, llen = dub.length; t < llen; t++) {

    var marker = new google.maps.Marker({
      position: new google.maps.LatLng(dub[t]['lat'], dub[t]['long']),
      map: map,
      title: dub[t]['title']
    });

}

}


google.maps.event.addDomListener(window, 'load', initialize);

HTML:

<div id="map-container" style="height: 500px;">
<div id="map-canvas" style="width: 100%; height: 100%"></div>
</div>

1. 我如何设置地图的缩小限制,以便正确渲染地图?

1个回答

64

附加问题:我如何防止地图在没有设置自定义最大缩放值的情况下破裂,即如何使地图表现得像普通地图一样,在完整的世界地图可见时停止缩小。 - Angad Dubey
我不确定我理解你的附加问题,你能否重新表述或详细说明一下? - chrismarx
我想设置缩小限制的原因是为了防止地图像上面的图片一样破裂,那么显示整个世界地图的minZoom的正确值是多少呢?现在它切掉了澳大利亚等地。 - Angad Dubey
啊,这取决于地图的大小,如果您有灵活的尺寸以及不同的屏幕分辨率,那么地图的大小可能会有所不同。我建议获取您想要显示的坐标,然后创建一个glatlngbounds对象,并使用fitBounds()函数 - 请参见此处https://groups.google.com/forum/#!topic/google-maps-js-api-v3/P1M3UOhvw4I - chrismarx
@maximl337:你需要的是“宽高比”,在谷歌地图中为“1”。在缩放级别为零时,整个世界地图的“宽度/高度”为“256px”乘以“256px”。在每个缩放级别(不包括缩放级别为零)中,宽度和高度的公式为“256 * 缩放级别”。 - machineaddict
1
这也适用于javascript框架gMap.js。 var map = new GMaps({minZoom: 5, maxZoom: 15 })。谢谢。 - Leonidas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接