当我们的设备从纵向模式定向到横向模式时,是否完全加载了地图时是否触发了Map事件?

时间:2013-12-18 12:39:52

标签: javascript arcgis esri arcgis-js-api

我们在我们的一个移动网络应用程序中使用ESRI ArcGIS JavaScript API。第一次加载map时,会触发Onload事件。但是当我们将方向从纵向更改为横向时,OnLoad事件不会被触发。我们需要这样的事件,以便在地图模式下完全加载地图时我们可以执行一些操作。我们知道在javascript中有方向改变事件但我们需要在方向改变事件被触发后在风景模式中完全加载Map时应该触发的事件吗?

2 个答案:

答案 0 :(得分:0)

此StackOverflow帖子可能已经回答了您的问题:

How do I correctly detect orientation change using javascript and Phonegap in IOS?

还有这篇博文:

http://jbkflex.wordpress.com/2011/12/06/429/

基本上:

window.addEventListener('orientationchange', handleOrientation, false);

function handleOrientation() {
    if (orientation == 0) {
        //portraitMode, do your stuff here
    }
    else if (orientation == 90) {
        //landscapeMode
    }
    else if (orientation == -90) {
        //landscapeMode
    }
    else if (orientation == 180) {
        //portraitMode
    }
    else {
    }
}

答案 1 :(得分:0)

我认为您可能需要两个事件的组合:

  1. javascript orientationchange事件和
  2. ArcGIS API地图的update-end事件。
  3. orientationchange事件的处理程序中,设置一个标志变量以指示您正在等待更新结束。 update-end的处理程序会检查标记,看看你是否只是改变了方向,做了你想要做的任何魔法,然后取消设置标志。