相关疑难解决方法(0)

Google Maps V3 - 如何计算给定边界的缩放级别

我正在寻找一种使用Google Maps V3 API计算给定边界的缩放级别的方法,类似于getBoundsZoomLevel()V2 API.

这是我想要做的:

// These are exact bounds previously captured from the map object
var sw = new google.maps.LatLng(42.763479, -84.338918);
var ne = new google.maps.LatLng(42.679488, -84.524313);
var bounds = new google.maps.LatLngBounds(sw, ne);
var zoom = // do some magic to calculate the zoom level

// Set the map to these exact bounds
map.setCenter(bounds.getCenter());
map.setZoom(zoom);

// NOTE: fitBounds() will not work
Run Code Online (Sandbox Code Playgroud)

不幸的是,我无法将该fitBounds()方法用于我的特定用例.它适用于在地图上拟合标记,但它不适用于设置精确边界.这是我不能使用该fitBounds()方法的一个例子.

map.fitBounds(map.getBounds()); // not what you expect
Run Code Online (Sandbox Code Playgroud)

google-maps google-maps-api-3

130
推荐指数
6
解决办法
15万
查看次数

相当于gmaps api 3中的getBoundsZoomLevel()

在API v2中,map对象有一个方便的方法getBoundsZoomLevel().我用它来获得最适合边界的缩放级别,然后以某种方式操纵这个最佳缩放级别,最后设置所需的缩放级别.

我在API v3中找不到类似的功能.(从v2转到v3时,这是多么令人沮丧的经历)

我真的必须使用map.fitBounds(),再次map.getZoom()操纵setZoom()吗?那真是太蠢了!

javascript google-maps google-maps-api-3 google-maps-api-2

22
推荐指数
1
解决办法
1万
查看次数