Events GWT(Google Web Toolkit)中的Fire ResizeEvent

Events GWT(Google Web Toolkit)中的Fire ResizeEvent,events,gwt,resize,Events,Gwt,Resize,在我的网站上,我有很多谷歌地图(v3),你可以通过一个选项卡面板(每个选项卡一个)来选择,但是当你切换选项卡时会出现问题。当您选择该选项卡时,它不会“唤醒”地图。要解决这个问题,我只需要使用ResizeEvent.fire(source,Window.getClientWidth(),Window.getClientHight());这将激活地图上的调整大小侦听器并“唤醒它”。我的问题是,我无法获取指向浏览器窗口的已注册调整大小处理程序的指针(它在com.google.gwt.user.clie

在我的网站上,我有很多谷歌地图(v3),你可以通过一个选项卡面板(每个选项卡一个)来选择,但是当你切换选项卡时会出现问题。当您选择该选项卡时,它不会“唤醒”地图。要解决这个问题,我只需要使用ResizeEvent.fire(source,Window.getClientWidth(),Window.getClientHight());这将激活地图上的调整大小侦听器并“唤醒它”。我的问题是,我无法获取指向浏览器窗口的已注册调整大小处理程序的指针(它在com.google.gwt.user.client.window.handlers中受包保护),因此我不知道使用什么作为源。如果有人对我的解决方案或其他可能的解决方案有答案,我们将不胜感激


谢谢,汤姆

< P>我不确定是否使用ReSead是最好的方法(我以前没有嵌入过地图),但是你可以考虑使用TabLayOutPanel代替TabPanel,并调用面板。而不是触发调整大小事件。请注意,您需要一直使用*s(或实现的东西)到文档的根目录,并且您的页面需要以标准模式呈现。

谢谢您的回复,但我发现这三行:
HasLatLng center=mapWidget.getMap().getCenter()
Event.trigger(mapWidget.getMap(),“resize”)
mapWidget.getMap().setCenter(中心)

达到理想的结果这基本上就是最初加载贴图时发生的情况。在MapWidget的onLoad()方法中,它调用super.onLoad()然后执行这三行,这三行“唤醒”地图并保留中心点。

如果您正在使用,则在
MapWidget
类中有一个
triggerResize()
函数执行此操作。

找不到Event.Trigger。请看一看: