奇怪的谷歌地图大小调整行为

时间:2010-01-26 21:35:39

标签: java gwt google-maps

我在http://corn.appspot.com的GWT应用程序中有一张地图 - 我希望地图覆盖其容器高度和宽度的100%。我这样做是通过将其添加到布局面板而不是分配大小,如下所示:

public void loadMap() {
        LatLng cawkerCity = LatLng.newInstance(39.509, -98.434);
        MapOptions options = MapOptions.newInstance();
        MapWidget map = new MapWidget(cawkerCity, 2, options);
        map.setUIToDefault();
        map.addOverlay(new Marker(cawkerCity));
        mapHolder.add(map);
    }

问题是地图在区域中显示一个小版本,然后在您尝试以任何方式更改浏览器窗口的大小时立即对其进行权限。 Take a look并亲眼看看。

有谁知道为什么会这样?

3 个答案:

答案 0 :(得分:1)

由于容器的大小发生变化,似乎您的地图正在渲染。 尝试checkResize()

http://code.google.com/apis/maps/documentation/reference.html#GMap2.checkResize

答案 1 :(得分:0)

new Timer() {

@覆盖   public void run(){
   map.checkResizeAndCenter();   }  } .schedule(100);

这将有所帮助。 问候

答案 2 :(得分:0)

实际上,它更容易做到

DeferredCommand.addCommand(new Command(){
  @Override
  public void execute(){
    map.checkResizeAndCenter();
  }
});