Hallo,
besteht die Möglichkeit externe XML-Dateien per Aktion dynamisch nachzuladen?
Die Aktion loadpano setzt die aktuellen Panoramabilder leider zurück. Ich suche also eine Aktion, die sich im Grunde wie das XML-Tag include verhält.
Gruß
XML-Dateien dynamisch nachladen
-
-
Moin
loadxml tut's nicht?
LG
Peter -
Hi,
leider verstehe ich Deine Frage nicht so ganz, Thimo. Was meinst Du damit das die aktuellen Panobilder beim loadpano-tag zurückgesetzt werden?!
Die Möglichkeit eine XML dynamisch zu laden gibt es aktuell jedenfalls leider nicht, hab auch vor kurzem nach dieser Möglichkeit gesucht. Sämtliche per include eingebundenen XMLs werden gleich zu Beginn geladen. Du kannst alternativ höchstens den include-Befehl innerhalb einer Szene nutzen, so wird die XML erst beim Start dieser Szene mitgeladen.Wenn Du etwas näher erklärst was genau Du erreichen möchtest, könnte man Dir eher helfen.
Gruß
Nupsi -
Mit loadxml kann man nur xml code direkt nachladen, aber keine externen Dateien.
Beim loadpano wird das Pano neu geladen, das ist korrekt, da dieser Befehl auch dafür da ist.Wie nupsi schon schrieb, kannst Du externe Dateien (XMLs) nur mittels include einbetten, z.B. beim Panowechsel.
Es hängt jetzt natürlich davon ab, was Du bewerkstelligen willst.
U.U. kann man einige auch per styles oder ein Flashplugin abwickeln. -
Also eigentlich möchte ich einfach bestimmte Hotspots und/oder Plugins nachladen. Das würde über eine dynamische include-Anweisen toll funktionieren, sofern es eine solche Aktion denn gäbe. Oder bekommt man die Funktion loadpano irgendwie dazu, die aktuellen Panoramabilder beizubehalten? Das wäre dann eine Alternative.
-
Du kannst alternativ höchstens den include-Befehl innerhalb einer Szene nutzen, so wird die XML erst beim Start dieser Szene mitgeladen.
Das habe ich jetzt mal versucht. Aber anscheinend werden die include-Anweisungen einer Szene bereits sofort beim Parsen geladen. Obwohl es eigentlich in der Doku anders beschrieben ist. -
Plugins und Hotspots lassen sich über eine action jederzeit per "addplugin"/"addhotspot" und "removeplugin"/"removehotspot" hinzufügen bzw. entfernen. Bin nicht am Rechner, daher kann ich Dir zum szenenabhängigen include gerade leider nicht mehr sagen. Ich schau morgen frueh mal etwas genauer nach, falls es sich bis dahin nicht schon erledigt hat...
Gruss
Nupsi -
Wie ich eben festgestellt habe, verwirft die Funktion loadscene ebenfalls das aktuelle Panoramabild. Also ist das leider auch nicht brauchbar, selbst wenn das mit der include-Anweisung funktionieren würde. Mit loadxml('<include url="..." />') ist es übrigens das gleiche.
Klar, man könnte das mittels addhotspot über JavaScript und Ajax lösen. Aber das ist natürlich schon sehr umständlich. -
Musst Du die Plugins/Hotspots denn unbedingt außerhalb von krpano nachladen? Und worum geht es Dir denn ganz speziell, darum Grafiken erst zu einem ganz bestimmten Zeitpunkt nachzuladen um Ladezeiten zu minimieren und/oder speicher zu sparen, oder generell darum nicht immer alle plugins gleich einzubinden? Beides lässt sich auch in krpano und in XML gut bewerkstelligen.
Ein kleines Beispiel wäre hilfreich dabei Dir helfen zu können
Gruß
Nupsi -
Genau so ist es. Es handelt sich um knapp 500.000 Hotspots. Die kann ich schlecht alle gemeinsam laden.
Zunächst möchte ich einfach eine Tour erstellen, die einen zufällig gewählten Hotspot lädt und anzeigt, eine Beschreibung einblendet und schließlich zum nächsten zufälligen Hotspot geht. Das funktioniert auch alles problemlos mittels loadpano, bis auf die Panoramabilder selbst.
Ein zusätzlicher Flag für loadpano wäre wünschenswert: KEEPPANO. Bzw. sollte das aktuelle Panorama schlicht beibehalten werden, sofern das neue XML-Dokument kein image-Tag enthält. -
Hi,
ein KEEPIMAGE Flag für die loadpano/loadxml/loadscene Actions, zum Behalten des Panoramas selbst, steht bereits auf meiner Liste
Schöne Grüße,
Klaus -
500000 Hotspot, na das ist mal ne Anzahl.
Zeig auf jeden Fall mal das Pano, wenn es fertig bereitsteht.Am besten wäre hierbei wohl das Nachladen der HS mittels addhotspot() über eine Funktion.
-
Mal davon abgesehen das ich mir kaum vorstellen kann wie das mit einer halben Million Hotspots funktionieren soll, bleibt bei so einer Zahl natürlich nur die Möglichkeit die Hotspots per <action> zu setzen. Ich vermute mal Du setzt beinahe pro Pano-Pixel einen Hotspot?! Zumindest kann ich mir nicht vorstellen das Du 500k Hotspots per Hand setzt!? Da würde ich mir eine inkrementelle Funktion schreiben welche einen HS setzt, den Zähler bei jedem Durchgang um 1 hochsetzt, die Werte einer Variable für die Position XY um den gewünschten Wert versetzt und dann die Funktion neu startet, bis alle 500k HS gesetzt sind.
Das Pano möchte ich dann aber auch sehen wenn es fertig ist
Gruß
Nupsi
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!