2012-08-23 7 views
5

Mein Problem:
- Ich zeige eine Karte in einem Popup und ich habe Kacheln (grauer Hintergrund) entladen. - Wenn ich heraus- oder hineinzoomen, füllt die Karte den gesamten Raum aus (kein grauer Hintergrund mehr).GWT MAP 3.8 (Google API) - Ist onResize() erforderlich, um den "grauen Hintergrund" auszublenden?

Meine Frage:
- Haben Sie eine Ahnung von meinem Problem (Muss ich die Größe ändern, um den "grauen Hintergrund" zu verbergen)?
- Ich weiß nicht, ob ich onResize() innerhalb der Runable Callback (Code ist oben) aufrufen oder nicht?

Vielen Dank,

Mein eigentlicher Code: (ich bin mit javaxLoaderAPI)

// ENTRY POINT

GoogleMap map; 
    @UiField LayoutPanel gmap; 

    public void AjaxLoader_MAP() { 

      AjaxLoaderOptions options = AjaxLoaderOptions.newInstance(); 

      options.setOtherParms("key=***&sensor=false&language=es"); 

      Runnable callback = new Runnable() { 
      public void run() { 
       gmap.onResize();   // Should I call onResize() here ? 
       map = GoogleMap.create(gmap.getElement());  
      }; 
      } 

      AjaxLoader.loadApi("maps", "3", callback, options); 
} 

Antwort

1

den folgenden Beitrag in Zusammenhang stehen kann - GWT Google Map Api V3 - broken when changing it

Ich habe gerade eine Antwort auf diese unbeantwortete pos t genauso gut. Ich glaube, es beantwortet und gibt auch einen Einblick in dieses Thema.

Ich weiß, das ist ein alter Beitrag, aber lassen Sie mich wissen, ob es hilft!

0

Wenn mapWidget.triggerResize() aufgerufen wird, ist es wichtig, sie mit einer gewissen Verzögerung (Timer.schedule()) aufzurufen, so dass alle Widgets zurückgesetzt wurden und dann die Größe der Karte geändert wird. Diese

ist, wie ich es auslösen:

@Override 
protected void onReset() { 
    super.onReset(); 
    Timer timer = new Timer() { 
     @Override 
     public void run() { 
      triggerResize(); 
     } 
    }; 
    timer.schedule(100); 
} 

Ohne Timer, ich war immer noch graue Fliesen zu bekommen. Hoffe jemand findet es immer noch nützlich.