Google Maps API fitBounds不会正确设置缩放

我遇到了一个问题,我认为fitBounds调用不适当地设置缩放级别。 我已经设法在这里http://tom.haddons.net/map.html重现我的测试用例 - 基本上,四个外部点是我设置的界限,如果您加载页面,然后放大一个级别, '仍然可见。 那么为什么不是谷歌地图设置缩放级别呢?

谢谢,汤姆


我设法通过执行以下操作来解决此问题:

  var minlatminlong = new google.maps.LatLng({{ min_latitude }}, {{ min_longitude }});
  var minlatmaxlong = new google.maps.LatLng({{ min_latitude }}, {{ max_longitude }});
  var maxlatminlong = new google.maps.LatLng({{ max_latitude }}, {{ min_longitude }});
  var maxlatmaxlong = new google.maps.LatLng({{ max_latitude }}, {{ max_longitude }});

  zoomChangeBoundsListener = google.maps.event.addListener(map, 'bounds_changed', function(){
      var bounds = this.getBounds();
      if ((bounds.getSouthWest().lng() > {{ min_longitude }}) || (bounds.getNorthEast().lng() < {{ max_longitude }}) || (bounds.getSouthWest().lat() > {{ min_latitude }}) || (bounds.getNorthEast().lat() < {{ max_latitude }})) {
          this.setZoom(this.getZoom() - 1);
      } else {
          google.maps.event.removeListener(zoomChangeBoundsListener);
      }
  });

请注意,包含在'{{'和'}}'中的任何内容都是我传递给html模板的变量。

链接地址: http://www.djcxy.com/p/81537.html

上一篇: Google Maps API fitBounds doesn't set zoom correctly

下一篇: fitBounds() shows whole earth (if map is first hidden and then shown)