2012-04-05 18 views
2

Ich versuche gerade einen Haltepunkt im Debug-Fenster meines Browsers zu setzen. Immer wenn ein Klickereignis auftritt, führt der Haltepunkt zum Absturz des Google Earth-Plugins.Google Earth Plugin Absturz bei Klick

Gibt es eine Methode, die ich vermisse, um den Absturz zu vermeiden? Ich möchte einfach einen einfachen Zugang haben, um verschiedene kml-Eigenschaften an einem Haltepunkt auszuprobieren. Hoffentlich fehlte mir ein Feature, das dem Timeout in einer Alarmbox ähnlich ist, um den Absturz der Box zu verhindern, wenn GE angeklickt wird.

Debugging in Chrome und IE versucht.

Es ist der grundlegende Google Earth-Code.

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

this ist die Karte div und earthArgs hält die Datenbank Standort

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

Click-Ereigniscode:

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

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

-Code funktioniert und lädt den GE ohne Problem, das Problem ist, dass beim Klicken auf GE der Breakpoint einfriert.

+0

Ich habe eine einfache Problemumgehung erstellt. Ich halte es jedoch nicht für die Antwort. Erstellen Sie eine globale Variable und legen Sie sie gleich dem Ereignisobjekt fest, wenn das Ereignis eintritt. Dann bei einem anderen Ereignis (Taste außerhalb GE drücken) einen Haltepunkt haben. Gibt mir Zugriff auf die Variablen, mit denen ich mindestens spielen möchte. – goodwince

+0

Sie müssten tatsächlich einige Code schreiben, um Hilfe zu bekommen .... – Fraser

+1

Hoffe das ist hilfreich für das Problem? Ich kann die Verwirrung sehen. Gut, wieder von dir zu hören Fraser haha. – goodwince

Antwort

0

Dies könnte daran liegen, dass Sie einen anonymen Delegaten für den Event-Handler verwenden. Um einen Haltepunkt festzulegen, erstellen Sie eine benannte Funktion, und übergeben Sie diese an die addEventListener-Methode.

// 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

Danke für den Blick aus einer anderen Perspektive. Ich habe deine Methode ausprobiert und bin nicht gegangen. Ich habe sogar versucht .. Funktion globeClickHandler (e) {// Haltepunkt verursacht noch Absturz} – goodwince

0

Was ist, wenn Sie ein anderes Ereignis verwendet haben? sagen "mousedown" oder "mouseup"?

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