我在地图上设置了多个标记,我可以静态设置缩放级别和中心,但我想要的是,覆盖所有标记并尽可能缩放所有市场可见
可用的方法如下
和
既不setCenter支持多位置或位置数组输入,也不setZoom具备此类功能

我正在寻找一种使用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) 在谷歌地图中,我希望能够在我放大或缩小时将地图的中心保留在我所在位置的标记上.这是Ingress所做的事情,无论你双击(或双击)或捏合的地方,地图都会在你的标记上居中.所以有可能......
我现在想出的最好的是:
google.maps.event.addListener(mymap, 'zoom_changed', function() {
mymap.setCenter({lat: myLoc.lat, lng: myLoc.lon});
})
Run Code Online (Sandbox Code Playgroud)
但它远非完美,它只是在用户已经缩放后重新定位地图...
非常感谢 !
[编辑]绝对没有任何帮助API参考...或其他地方我是盲目的,错过了它!
我想计算一个标记与地图正中心之间的距离 - 任何人都可以解释我是如何做到这一点的吗?