我在加载多个Google地图的应用程序时遇到问题。此地图的第二个著名问题是显示不正确,因为似乎无法正确找到div尺寸。我已经检查了建议的解决方案herehere。由于我现在无法切换到v3,因此我没有一个建议的解决方案,我会在一段时间后再做,但是现在不能。

因此,如何在Google Maps API

HasLatLng center = mapWidget.getMap().getCenter();
Event.trigger(mapWidget.getMap(), "resize");
mapWidget.getMap().setCenter(center);


但是我的MapWidget类没有getMap()方法,此外我没有Event类,该类允许传递MapWidget和String作为参数。

最后,我还尝试了这个建议的here

private final native void resizeMap(GoogleMap map) /*-{
    $wnd.google.maps.event.trigger(map, 'resize');
}-*/;


但这也行不通...任何线索?

谢谢!
亚历克斯

最佳答案

我不熟悉GWT,但似乎mapWidget已经是MapWidget实例的指针。

也许checkResizeAndCenter()是您想要的。至少该描述听起来很有希望:


通知地图其容器大小的更改,然后移至地图的中心。在大小之后调用此方法
容器DOM对象已更改,因此地图可以调整为
适合新尺寸。


mapWidget.checkResizeAndCenter();

09-13 14:00