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

Is there any Map event fired when map is loaded completely when we device is oriented from portrait to landscape mode?

本文关键字:模式 任何 是否 加载 Map 事件 横向 地图 我们      更新时间:2023-09-26

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

这篇StackOverflow文章可能已经回答了你的问题:

如何在 IOS 中使用 javascript 和 Phonegap 正确检测方向变化?

还有这篇博文:

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. javascript orientationchange事件,以及
  2. ArcGIS API 地图的update-end事件。

orientationchange 事件的处理程序中,设置一个标志变量以指示您正在等待更新结束。update-end处理程序会检查标志以查看您是否刚刚改变了方向,执行您尝试执行的任何魔法,然后取消设置标志。

相关文章: