eigenes Hotspot Plugin - Fehler bei event

  • Hallo

    ich habe ein kleine Plugin geschrieben, was beim Start eine XML Datei lädt und aus dieser dann Hotspot-Koordinaten ausliest und diese erstellt. Das funktioniert beim ersten Laden auch einwandfrei, aber ich will natürlich auch beim Panoramawechsel neue Hotspots laden und habe mir gedacht ich nutze das onnewpano Event dazu. Der Aufbau sieht wie folgt aus:

    hotspot plugin:

    Nachdem die XML geladen wurde und generatePoints aufgerufen wird werden auch schön alle Bilder erstellt. Sobald ich aber das event nutze um plugin[hotspot].renew() aufzurufen kommt die Meldung
    Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich.
    at Hotspot/generatePoints()

    oder wenn ich den krpano Editor benutze:
    Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich.
    at editor/set_hotspot_editable()

    Der Fehler tritt bei var hotspot:Object = krpano.get("hotspot[name" + _i + "]"); auf, da er das addhotspot anscheinend nicht mehr ausführt. Gibt es dafür einen Grund? hotspot.count ist immer 0 (vorher und nachher [wenn ich nur addhotspots durchlaufen lasse und alles weitere auskommentiere]).
    Ich habe auch schon das Event auf oncomplete geändert, aber es kommt der gleiche Fehler.

    Hoffe es kann jemand helfen

    Danke

  • Hi,

    ist bei deinem Plugin - keep="true" - gesetzt?
    ohne diese Einstellung wird das Plugin beim Laden eines neues Panos (XML oder Scene) wieder entfernt,

    ein weniger Problem kann sein, das die "addhotspot()" Aufrufe noch nicht abgearbeitet worden sind,
    je nachdem was für Aufrufe es noch in der XML gab, kann es sein, das sich diese Aufrufe erst später aufgerufen werden,

    falls nur Flash verwendet wird, gäbe es einen Trick um diese Verzögerung zu umgehen,
    per:

    Code
    var krpano_addhotspot:Function = krpano.get("addhotspot");


    kann die Funktion direkt geholt werden, und dann per:

    Code
    krpano_addhotspot("....");


    direkt aufgerufen werden,
    so werden eventuelle Verzögerungen durch die normale XML Actions-Abarbeite-Warteschlange vermieden,

    Schöne Grüße,
    Klaus

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!