Gwt 如何清除并重新绘制整个地图

Gwt 如何清除并重新绘制整个地图,gwt,google-maps-api-3,Gwt,Google Maps Api 3,我使用的是GWt,我能够在一个简单的面板中渲染一张地图,该面板覆盖了自定义形状。如果提供了新查询,我希望清除面板并再次渲染贴图 public ResultsPanel(ScolopaxController _controller, ScolopaxConstants _constants) { super(); controller = _controller; layout = new SimplePanel(); paging = new Ho

我使用的是GWt,我能够在一个简单的面板中渲染一张地图,该面板覆盖了自定义形状。如果提供了新查询,我希望清除面板并再次渲染贴图

public ResultsPanel(ScolopaxController _controller,
        ScolopaxConstants _constants) {
    super();
    controller = _controller;
    layout = new SimplePanel();
    paging = new HorizontalPanel();
    paging.setWidth("100%");
    paging.setSpacing(0);
    layout.add(paging);
    this.setWidget(paging);

}
//After processing the values in the server this method is called
public void setPlots(PlotSetOutput result) {
    this.page = 1;
    this.loadMapApi(result);
    controller.getScolopaxGUI().addResultsTab();
}

private void loadMapApi(final PlotSetOutput result) {
    paging.clear(); // does not work
    // load all the libs for use in the maps
    ArrayList<LoadLibrary> loadLibraries = new ArrayList<LoadApi.LoadLibrary>();
    loadLibraries.add(LoadLibrary.ADSENSE);
    loadLibraries.add(LoadLibrary.DRAWING);
    loadLibraries.add(LoadLibrary.GEOMETRY);
    loadLibraries.add(LoadLibrary.PANORAMIO);
    loadLibraries.add(LoadLibrary.PLACES);
    loadLibraries.add(LoadLibrary.WEATHER);
    loadLibraries.add(LoadLibrary.VISUALIZATION);
    Runnable onLoad = new Runnable() {
        @Override
        public void run() {
            draw(result);
        }
    };

    LoadApi.go(onLoad, loadLibraries, sensor);
}

private void draw(PlotSetOutput result) {
    drawHeatMap(result);
}

private void addMapWidget(Widget widget) {
    paging.add(widget);
}

private void drawHeatMap(PlotSetOutput result) {
    displayOnMap wMap = new displayOnMap(result);
    addMapWidget(wMap);
}
当服务器调用SetPlots方法时,我试图清除分页面板。 我试图清除pWidget面板,但没有任何效果。调用第二个查询时,我的输出如下所示

    private final VerticalPanel pWidget;
    private MapWidget mapWidget;
    private static Rectangle rectangle;
    private static final LatLng USCENTER = LatLng.newInstance(33.68,-116.17);

    public displayOnMap(PlotSetOutput result) {
        pWidget = new VerticalPanel();
        initWidget(pWidget);
        draw(result);
    }

    private void draw(PlotSetOutput result) {
        MapOptions mapOpts = MapOptions.newInstance();
        mapOpts.setZoom(4);
        mapOpts.setCenter(USCENTER);
        mapOpts.setMapTypeId(MapTypeId.TERRAIN);
        mapWidget = new MapWidget(mapOpts);
        pWidget.add(mapWidget);
        mapWidget.setSize("800px", "800px");
.... }