2012-04-05 103 views
2

我正在嘗試在瀏覽器的調試窗口中設置斷點。每當發生點擊事件時,斷點都會導致Google地球插件崩潰。點擊Google地球插件崩潰

有沒有一種方法可以避免碰撞?我只是想輕鬆地嘗試在斷點上嘗試不同的kml屬性。希望我錯過了一個類似於警告框超時的功能,以在點擊GE時阻止框崩潰。

試圖在Chrome和IE中進行調試。

這是基本的Google地球代碼。

google.earth.createInstance(this, initCB, failureCB, earthArgs); 

this是地圖的div和earthArgs保存數據庫的位置

............

Click事件代碼:

function initCB(instance) { 
    gep = instance; 
    gep.getWindow().setVisibility(true); 

    google.earth.addEventListener(gep.getGlobe(), 'click', function(event) { 
    //set breakpoint here 
    }); 
} 

代碼工作和加載通用電氣沒有問題,問題是,當點擊通用電氣斷點凍結。

+0

我創建了一個簡單的解決方法。雖然我不認爲它是答案。創建一個全局變量,並在事件發生時將其設置爲等於eventobject。然後在另一個事件(GE按鈕外按鈕)有一個斷點。 讓我能夠訪問我至少想玩的變量。 – goodwince 2012-04-06 19:37:04

+0

你需要實際發佈一些代碼來獲得幫助.... – Fraser 2012-04-10 18:53:58

+1

希望這對問題有幫助嗎?我可以看到混亂。很高興再次聽到你的消息弗雷澤哈哈。 – goodwince 2012-04-10 23:06:12

回答

0

這可能是因爲您正在使用匿名委託來處理事件。要設置斷點,請嘗試創建一個命名函數並將其傳遞給addEventListener方法。

// handle click events on the globe 
// e is the KmlMouseEvent object 
var globeClickHandler = function(e) { 
    // set breakpoint here 
}; 

// in initCB 
google.earth.addEventListener(gep.getGlobe(), 'click', globeClickHandler); 
+0

感謝您從不同的角度看待。我嘗試了你的方法,但沒有去。我甚至試過.. 函數globeClickHandler(e){//斷點仍然導致崩潰} – goodwince 2012-04-11 18:56:21

0

如果您使用了不同的事件,該怎麼辦?說「mousedown」或「mouseup」?

google.earth.addEventListener(gep.GetGlobe(), 'mouseup', function(event){ 
    //do something here 
});