2013-12-18 47 views
3

我們在我們的移動web應用之一中使用ESRI ArcGIS JavaScript API。第一次加載map時,會觸發Onload事件。但是當我們將方向從縱向更改爲橫向時,OnLoad事件不會被觸發。我們需要這樣的事件,以便在地圖完全加載到風景模式時,我們可以執行一些操作。我們知道javascript中有方向更改事件,但我們需要在方向更改事件觸發後,Map完全以橫向模式加載時觸發的事件?當我們的設備是從縱向模式轉換到橫向模式時,地圖是否完全加載,是否有任何地圖事件觸發?

回答

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 { 
    } 
} 
+0

這並不能解決我的問題,因爲我想要在地圖完全加載到風景模式時觸發的事件。 –

+0

您仍然需要orientationchange事件的監聽器,但是從鏈接到移動瀏覽器的博客文章中,我們聲明瞭一個名爲'orientation'的全局變量。在頁面加載時,你可能會嘗試查看'window.orientation'屬性並調用'handleOrientation'也許? –

0

我想你可能需要合作兩個事件的mbination:

  1. JavaScript的orientationchange事件,
  2. ArcGIS的API地圖的update-end事件。

orientationchange事件的處理程序中,設置一個標誌變量以指示您正在等待更新結束。 update-end的處理程序檢查標誌,看看你是否剛剛改變方向,做你想做的任何魔法,然後解除標誌。

相關問題