小编典典

Google Maps API v3:我可以在 fitBounds 之后设置缩放吗?

all

我有一组要在嵌入式 Google 地图(API v3)上绘制的点。我希望边界能够容纳所有点,除非缩放级别太低(即,缩小太多)。我的方法是这样的:

var bounds = new google.maps.LatLngBounds();

// extend bounds with each point

gmap.fitBounds(bounds); 
gmap.setZoom( Math.max(6, gmap.getZoom()) );

这行不通。如果在 fitBounds 之后直接调用,最后一行“gmap.setZoom()”不会更改地图的缩放级别。

有没有办法在不将其应用于地图的情况下获得边界的缩放级别?解决这个问题的其他想法?


阅读 59

收藏
2022-06-15

共1个答案

小编典典

编辑 :见下面马特戴蒙德的评论。

知道了!尝试这个:

map.fitBounds(bounds);
var listener = google.maps.event.addListener(map, "idle", function() { 
  if (map.getZoom() > 16) map.setZoom(16); 
  google.maps.event.removeListener(listener); 
});

根据您的需要进行修改。

2022-06-15