Google Maps API - 偏移中心点以确保标记和信息窗口可见

时间:2013-08-29 16:41:25

标签: javascript google-maps google-maps-api-3 google-maps-markers infowindow

我有以下代码可以放大谷歌地图并在点击标记时显示信息窗口...

google.maps.event.addListener(marker, "click", function () {
    infowindow.setContent(this.html);
    infowindow.open(map, this);
    map.setCenter(this.position);
    if(map.getZoom() < 10 || map.getZoom() > 10) {
        map.setZoom(10);
    }
});

但是,地图大小基于用户浏览器窗口大小,有时 - 当地图因浏览器窗口大小而不高时 - 信息窗口会从顶部消失。我想要做的是将标记和信息中心放在中心而不仅仅是标记。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以获得infowindow的高度,然后将地图平移一半。

map.panBy(0, info_window_height / 2);

如果在地图中心标记/ infowindow不是严格要求,请查看SmartInfoWindow演示:http://gmaps-samples-v3.googlecode.com/svn/trunk/smartinfowindow/smartinfowindow.html