1

GWt とGoogle Maps API V3 を使用しています。カスタム シェイプをオーバーレイするシンプル パネル内にマップをレンダリングすることができました。新しいクエリが提供された場合は、パネルをクリアしてマップを再度レンダリングします。

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);
}

これはdisplayOnMapメソッドです

    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");
.... }

サーバーが SetPlots メソッドを呼び出したときに、ページング パネルをクリアしようとしました。pWidget パネルをクリアしようとしましたが、何も機能しません。2番目のクエリが呼び出されると、私の出力は次のようになります ここに画像の説明を入力

4

0 に答える 0