移动地图在导航时消失

时间:2013-07-25 10:51:44

标签: qooxdoo

我正在使用Qooxdoo 3.0并开始使用移动应用,但我的 OpenLayers 地图在导航到新页面然后尝试返回地图页面后消失。它可以在桌面上正常工作,但不能在我正在测试的 iPad 上工作。几乎看起来地图被推到了show命令的页面后面。有没有办法将它移回到顶部或者可能还有其他事情发生?这是代码:

  // Initialize both pages
  var mapPage =  meddv2.page.Maps.getInstance();      
  var controlPanel = meddv2.page.ControlPanel.getInstance();

  // *** show the map page *** - map does not appear
  controlPanel.addListener("back", function() {
      mapPage.show({reverse:true});

  // *** I thought this may help which calls map.updateSize() in the map class 
      mapPage.redrawMap(); 
    }, this);

  // Show the Control Panel
  var controlPanelButton = new qx.ui.mobile.navigationbar.Button("Control Panel");
  controlPanelButton.addListener("tap", function(){
      controlPanel.show();
  }, this);
  mapPage.getLeftContainer().add(controlPanelButton);     


  // Add the pages to the page manager.
  var manager = new qx.ui.mobile.page.Manager(false);
  manager.addDetail([
    mapPage,
    controlPanel
  ]);

  //Show the map page on load
  mapPage.show();     

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

在哪种设备上发生此行为?

你使用什么样的地图?的OpenLayers?谷歌地图?

您可以尝试在“start”事件页面上重绘该地图。

可能是渲染错误,请尝试在“styles.css”中使用CSS声明:

* {
  -webkit-backface-visibility:hidden;
}

这有助于你必须找出哪个div元素需要修复。

这些是我在qx.Mobile Maps演示中应用的样式。这可以帮助您防止渲染错误。

#osmMap {
  -webkit-transform: translate3d(0,0,0);
}

#osmMap > div {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
}

.olMapViewport {
  position:static !important;
}