GWT GoogleMaps v3.8灰色区域(如果在选项卡面板内使用)

GWT GoogleMaps v3.8灰色区域(如果在选项卡面板内使用),gwt,google-maps-api-3,Gwt,Google Maps Api 3,我在使用gwt GoogleMaps v3.8时遇到问题 此代码与预期一样工作正常: public class TestMaps implements EntryPoint { public void onModuleLoad() { final SimplePanel sp = new SimplePanel(); sp.setSize("460px", "320px"); AjaxLoaderOptions options = Aja

我在使用gwt GoogleMaps v3.8时遇到问题

此代码与预期一样工作正常:

public class TestMaps implements EntryPoint {

    public void onModuleLoad() {
        final SimplePanel sp = new SimplePanel();
        sp.setSize("460px", "320px");
        AjaxLoaderOptions options = AjaxLoaderOptions.newInstance();
        options.setOtherParms("sensor=false&language=en");
        Runnable callback = new Runnable() {
            public void run() {
                LatLng myLatLng = LatLng.create(51.5171, 0.1062);
                MapOptions myOptions = MapOptions.create();
                myOptions.setZoom(12.0);
                myOptions.setCenter(myLatLng);
                myOptions.setMapTypeId(MapTypeId.ROADMAP);
                GoogleMap.create(sp.getElement(), myOptions);
            }
        };
        AjaxLoader.loadApi("maps", "3", callback, options);
        RootPanel.get("GoogleMapsContainer").add(sp);
    }
}
如果我把地图放在选项卡面板中,我会得到灰色区域:

public class TestMaps implements EntryPoint {

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

    public void onModuleLoad() {
        final DecoratedTabPanel dtp = new DecoratedTabPanel();
        final SimplePanel sp = new SimplePanel();
        sp.setSize("460px", "320px");
        AjaxLoaderOptions options = AjaxLoaderOptions.newInstance();
        options.setOtherParms("sensor=false&language=en");
        Runnable callback = new Runnable() {
            public void run() {
                LatLng myLatLng = LatLng.create(51.5171, 0.1062);
                MapOptions myOptions = MapOptions.create();
                myOptions.setZoom(12.0);
                myOptions.setCenter(myLatLng);
                myOptions.setMapTypeId(MapTypeId.ROADMAP);
                GoogleMap map = GoogleMap.create(sp.getElement(), myOptions);
                dtp.add(sp, "Tab1", false);
                resizeMap(map);
                map.setZoom(map.getZoom());

            }
        };
        AjaxLoader.loadApi("maps", "3", callback, options);
        RootPanel.get("GoogleMapsContainer").add(dtp);
    }
}
我很少看到关于类似问题的帖子,但这些建议都不适合我。
任何意见和建议都将不胜感激。

我不熟悉GWT,但看起来您必须在选择选项卡时触发调整大小事件,而不是在添加选项卡时