1

我已经搜索了很多,无法弄清楚。我正在将地图从 v2 更新到 v3。它允许用户调整地图容器的大小。更改容器大小后,在 v2 中我只是这样做了map.checkResize(),它就可以工作了。对于 v3 版本,我使用map.fitBounds(map.getBounds())它并没有做任何我能看到的事情。我在容器的中心保留了一个十字准线标记,因此很明显 v3 调整大小无法正常工作。

我还尝试将边界函数放在“bounds_changed”事件回调函数中,以及回调函数map.setOptions(mapOptions)的内部和外部。很明显,地图不知道容器大小的变化。如何让地图识别新的容器大小?

这目前在本地测试服务器上,所以我无法提供链接。我可以在实时服务器上制作一个说明性示例,但我希望这是一个足够通用的问题,可以让这个问题变得不必要。我不需要特定的代码,我只想知道需要执行哪些基本步骤才能使地图在其新的容器大小中正常工作。

4

1 回答 1

1

在 v2map.checkResize()中,v3 中的代码使用如下:

google.maps.event.trigger(map, 'resize');

并像这样获取地图容器的大小:

var mapDiv = map.getDiv();
var size = new google.maps.Size(mapDiv.offsetWidth, mapDiv.offsetHeight);
于 2012-11-21T22:13:24.207 回答