0

balloon单击Marker. _ 有时,气球会超出地图的边界而没有完全显示出来。

我无法将地图以标记的坐标居中,因为气球有时太高并且仍然在边界之外。所以我需要一个offset将地图中心稍微向下移动的气球,这样气球总是很好地位于我的地图中间。

问题是 Google 地图不适用于像素,而是使用LatLng. 因此,我需要一个动态可扩展的函数来保持每个缩放级别的偏移量相同!

4

1 回答 1

1

好吧,我找到了一个算法解决方案!

map.setCenter(
 new google.maps.LatLng(
  marker.getPosition().lat()+(X/Math.pow(2,map.getZoom())),
  marker.getPosition().lng()
 )
);

每个缩放级别几乎使地图上显示的 LatLng 翻倍。所以只要找到一个X最适合你的偏移量(在我的例子中是 128),一切都很好!

PS:marker的位置和气球一样。

于 2012-11-12T11:12:05.460 回答