2012-11-21 65 views
1

我搜索了很多,无法弄清楚这一点。我正在更新从v2到v3的地图。它允许用户调整地图容器的大小。在更改容器大小后,在v2中,我只是做了map.checkResize(),它刚刚工作。对于v3版本,我使用了map.fitBounds(map.getBounds()),它没有做任何我能看到的东西。我在容器的中心维护一个十字准线标记,所以很明显v3调整大小不能正常工作。如何让地图正确使用调整大小的容器?

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

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

回答

1

在V2 map.checkResize(),在V3代码使用这样的:

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

和获取地图容器的大小是这样的:

var mapDiv = map.getDiv(); 
var size = new google.maps.Size(mapDiv.offsetWidth, mapDiv.offsetHeight); 
+0

谢谢!我从来没有想过我自己。文档介于晦涩和不存在之间。 – bcworkz

相关问题