我在使用加载多张谷歌地图的应用时出现问题。这个地图的第二个有着名的不能很好地展示的问题,因为看起来没有正确找到div尺寸。我已经检查了建议的解决方案here和here。所提出的解决方案都不适用于我,因为我现在无法切换到v3,稍后我会做一段时间,但现在无法做到。
因此,如何在Google Maps API上触发resize事件< V3?我已经尝试过这个了:
HasLatLng center = mapWidget.getMap().getCenter();
Event.trigger(mapWidget.getMap(), "resize");
mapWidget.getMap().setCenter(center);
但我的MapWidget类没有getMap()方法,除了我没有允许传递MapWidget和String作为参数的Event类。
最后,我还尝试了这个提议的here:
private final native void resizeMap(GoogleMap map) /*-{
$wnd.google.maps.event.trigger(map, 'resize');
}-*/;
但这也不起作用......任何线索?
谢谢! 亚历
答案 0 :(得分:1)
我不熟悉GWT,但看起来mapWidget已经是指向MapWidget实例的指针。
也许checkResizeAndCenter()
正是您所寻找的。至少说明听起来很有希望:
通知地图其容器大小的变化并移动到地图的中心。在大小之后调用此方法 容器DOM对象已更改,以便地图可以自行调整 适合新的尺寸。
mapWidget.checkResizeAndCenter();