如何在Google地图上触发地图事件< V3

时间:2013-09-14 18:33:37

标签: java google-maps gwt

我在使用加载多张谷歌地图的应用时出现问题。这个地图的第二个有着名的不能很好地展示的问题,因为看起来没有正确找到div尺寸。我已经检查了建议的解决方案herehere。所提出的解决方案都不适用于我,因为我现在无法切换到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');
}-*/;

但这也不起作用......任何线索?

谢谢! 亚历

1 个答案:

答案 0 :(得分:1)

我不熟悉GWT,但看起来mapWidget已经是指向MapWidget实例的指针。

也许checkResizeAndCenter()正是您所寻找的。至少说明听起来很有希望:

  

通知地图其容器大小的变化并移动到地图的中心。在大小之后调用此方法   容器DOM对象已更改,以便地图可以自行调整   适合新的尺寸。

mapWidget.checkResizeAndCenter();