Navigationselemente außerhalb des Panofensters auf der Webseite platzieren?

  • Hallo Gemeinde,

    Habe mir ein Gigapixel-Pano erstellt samt den üblichen Navigationselementen. Allerdings würde ich diese gerne außerhalb des Panos (am besten darunter) platzieren, damit sie nicht im Weg sind. Ist das möglich und wenn ja, wie geht das?

    Danke für eure Hilfe

    Grüße
    Matthias

  • Ja, es ist möglich.
    Du musst dann die entsprechenden Aktionen im Pano per Javascript ansprechen.

    Allerdings würde ich das nicht so machen, da Du so immer noch zusätzlich mehr Aufwand damit hast, dies im HTMl alles umzusetzen und drauf hoffen musst, dass der User prinzipiell Javascript aktiv hat.

    Das Pano kannst Du nämlich auch ohne JS einbinden und es läuft.
    Dann mach lieber eine Ausblendfunktion der Buttons, entweder per Klick oder automatisch wenn sich der Mauszeiger nicht mehr darüber befindet.

  • iceman, das ist sicher richtig und nicht von der Hand zu weisen mit Java Script.
    Wenn man es aber doch umsetzen möchte.... *wink*
    Wüsstest du wie sowas geht?

    Schönes Wochenende
    Gruß
    Matthias

  • Hallo iceman,

    vielen Dank für den Link. Hat mich schon mal einen Schritt weiter gebracht.
    Alerdings gibt es trotzdem ein paar Probleme:

    1. Ich habe mein Gigapixel-Pano, welches ich mit den krpanotools (multires) erstellen lasen habe, verwendet und erstmal die Anzeige für die Raumkoordinaten und FOV eingebaut. Funktioniert soweit ganz gut, jedoch stimmt der FOV-WErt nicht. Da hätte ich bei minimalem Zoom 1,5° Blickwinkel. Hier mal der Link zum Pano
    Bei der Erstellung des Multires-Panos wurde ich nur gefragt, ob es ein partielles Pano ist, was ich bestätigt habe. Dann habe ich "flat" gewählt.

    2. Dann habe ich die drei unterschiedlichen Bewegungsarten ausprobiert, um einen Punkt im Pano anzusteuern. Ich habe immer die gleichen Koordinaten verwendet (0.3/0.7/0.06).
    Allerdings funktioniert nur der Befehl "lookat" richtig. Mit einer Sprungantwort wird der Punkt angefahren. Passt würde ich mal sagen.
    Von "moveto" hätte ich jetzt erwartet dass der Punkt wirklich angefahren, also mit einer Bewegung, würde, was aber nicht der Fall ist. Befindet sich das Pano in Nullstellung, dann wird lediglich etwas nach unten gefahren. Die beiden anderen Raumkoordinaten bleiben unberücksichtigt. Zoomt man jedoch manuell etwas rein und verfährt man das Bild und drückt dann auf "moveto", dann wird der entsprechende Punkt über die X- und Y-Koordinate angefahren. FOV bleibt wie sie momentan ist, wird also nicht berücksichtigt.

    3. Der Befehl "lookto" funktioniert überhaupt nicht.

    4. Dann wollte ich aus der xml-Datei des Panos den Zoom-Button verwenden. Da ist es ja so, dass man so lange zoomt, bis man den Button wieder loslässt. Aber schon das einfache Klicken konnte ich nicht umsetzen. Das Ansprechen im Java-Script ist mit Sicherheit falsch, aber wo liegt der Fehler???
    Wie macht man das eigentlich mit den Befehlen aus der xml (ondown="set(movevectorz,-1);" onup="set(movevectorz,0);")???


    In einer späteren Ausbaustufe würde ich gerne Thumbs von Details auf der Seite präsentieren, die dann nach einem Klick darauf sanft angefahren werden. Welche Befehle müsste ich dann bei den momentanen Link-Befehlen ändern?

    Gibt es auch eine Möglichkeit die prozentuale Zoomstufe anzuzeigen


    Die beiden Dateien "swfobjects.js" und "swfmacmousewheel.js" habe ich mir von der krpano-Seite geholt, da sie im Beispiel auf verwendet werden.

    Würde mich freuen wenn du mir etwas helfen könntest.
    Vielen Dank und ein angenehmes Wochenende

    Gruß
    Matthias

  • Hi,

    1. Ich habe mein Gigapixel-Pano, welches ich mit den krpanotools (multires) erstellen lasen habe, verwendet und erstmal die Anzeige für die Raumkoordinaten und FOV eingebaut. Funktioniert soweit ganz gut, jedoch stimmt der FOV-WErt nicht. Da hätte ich bei minimalem Zoom 1,5° Blickwinkel. Hier mal der Link zum Pano
    Bei der Erstellung des Multires-Panos wurde ich nur gefragt, ob es ein partielles Pano ist, was ich bestätigt habe. Dann habe ich "flat" gewählt.

    für FLAT Panoramen wird ein HFOV von 1.0 verwendet,
    "view.fov" liefert standardmäßig (mit fovtype="VFOV") den vertikalen FOV,
    deshalb kommt dort z.B. "1.5",
    die hlookat/vlookat Werte sind ebenfalls entsprechend klein,


    2. Dann habe ich die drei unterschiedlichen Bewegungsarten ausprobiert, um einen Punkt im Pano anzusteuern. Ich habe immer die gleichen Koordinaten verwendet (0.3/0.7/0.06).
    Allerdings funktioniert nur der Befehl "lookat" richtig. Mit einer Sprungantwort wird der Punkt angefahren. Passt würde ich mal sagen.
    Von "moveto" hätte ich jetzt erwartet dass der Punkt wirklich angefahren, also mit einer Bewegung, würde, was aber nicht der Fall ist. Befindet sich das Pano in Nullstellung, dann wird lediglich etwas nach unten gefahren. Die beiden anderen Raumkoordinaten bleiben unberücksichtigt. Zoomt man jedoch manuell etwas rein und verfährt man das Bild und drückt dann auf "moveto", dann wird der entsprechende Punkt über die X- und Y-Koordinate angefahren. FOV bleibt wie sie momentan ist, wird also nicht berücksichtigt.

    3. Der Befehl "lookto" funktioniert überhaupt nicht.

    die Standardeinstellungen für die Animationsgeschwindigkeit bei moveto/lookto sind auf normale 360/180° Panoramen ausgelegt,
    siehe:
    https://krpano.com/docu/actions/#lookto,

    default ist - smooth(720,720,720)
    wobei die 720 hier für die Beschleunigung Grad/Sekunden² bzw. für die Max. Geschwindigkeit in Grad/Sekunde angegeben werden,
    für eine FLAT Panorama mit hfov="1.0" ist das viel zu viel,

    d.h. hier müssten kleinere Werte verwendet werden,
    z.B.

    Code
    lookto(0.01, 0.01, 0.05, smooth(0.2, 0.2, 0.2));

    bei lookto ist zudem noch ein Fehler in der HTML:
    <a onklick="lookto(0.3,0.7,0.06)">lookto 0.3/0.7/0.06</a>

    weiters dürften die lookto() Befehle aufgrund des - maxpixelzoom="0.5" - nicht funktionieren,
    bin mir hier jetzt aber nicht sicher...


    4. Dann wollte ich aus der xml-Datei des Panos den Zoom-Button verwenden. Da ist es ja so, dass man so lange zoomt, bis man den Button wieder loslässt. Aber schon das einfache Klicken konnte ich nicht umsetzen. Das Ansprechen im Java-Script ist mit Sicherheit falsch, aber wo liegt der Fehler???
    Wie macht man das eigentlich mit den Befehlen aus der xml (ondown="set(movevectorz,-1);" onup="set(movevectorz,0);")???

    anstelle von "call" - "set" verwenden,
    also z.B.

    Code
    krpano().set("movevectorz", -1.0);


    In einer späteren Ausbaustufe würde ich gerne Thumbs von Details auf der Seite präsentieren, die dann nach einem Klick darauf sanft angefahren werden. Welche Befehle müsste ich dann bei den momentanen Link-Befehlen ändern?

    lookto() wäre hier eigentlich schon der richtige Befehl,


    Die beiden Dateien "swfobjects.js" und "swfmacmousewheel.js" habe ich mir von der krpano-Seite geholt, da sie im Beispiel auf verwendet werden.

    wenn, dann müsste das "swfkrpanomousewheel.js" Script verwendet werden,
    ich würde aber empfehlen gleich das "swfkrpano.js" der 1.0.8 beta 9 Version zu verwenden,
    dort ist gleich alles enthalten,

    Schöne Grüße,
    Klaus

  • Hallo Klaus,

    vielen Dank erstmal für deine Hilfe,
    Leider bleiben noch einige Fragen offen bzw gehen trotzdem bestimmte Funktionen nicht:

    Quote

    für FLAT Panoramen wird ein HFOV von 1.0 verwendet,
    "view.fov" liefert standardmäßig (mit fovtype="VFOV") den vertikalen FOV,
    deshalb kommt dort z.B. "1.5",
    die hlookat/vlookat Werte sind ebenfalls entsprechend klein,


    bedeutet das dann, dass bei flat-panos keine vernünftigen Werten anzeigbar sind?


    Quote

    die Standardeinstellungen für die Animationsgeschwindigkeit bei moveto/lookto sind auf normale 360/180° Panoramen ausgelegt,
    siehe:
    https://krpano.com/docu/actions/#lookto,

    default ist - smooth(720,720,720)
    wobei die 720 hier für die Beschleunigung Grad/Sekunden² bzw. für die Max. Geschwindigkeit in Grad/Sekunde angegeben werden,
    für eine FLAT Panorama mit hfov="1.0" ist das viel zu viel, d.h. hier müssten kleinere Werte verwendet werden,
    z.B. lookto(0.01, 0.01, 0.05, smooth(0.2, 0.2, 0.2));


    ich habe nun 2 Versionen eingepflegt, wie man hier sehen kann.
    Einmal mit und einmal ohne smooth. Die Version ohne smooth geht - allerdings halt mit der Sprungantwort:

    Code
    <a onClick="lookto(0.3,0.7,0.06)">lookto 0.3/0.7/0.06</a>


    Die andere Version mit smooth nach deinen Vorgaben

    Code
    <a onClick="lookto(0.3, 0.7, 0.06, smooth(0.2, 0.2, 0.2))">lookto(0.3, 0.7, 0.06, smooth(0.2, 0.2, 0.2))</a>

    - jedoch tut sich da nichts! *confused*


    Quote

    anstelle von "call" - "set" verwenden,
    also z.B. krpano().set("movevectorz", -1.0);


    hab ich gemacht, geht leider nicht.

    Code
    <a ondown="movevectorz(-1)">Zoom in</a>

    aber im Java-Script könnte der Fehler liegen, da hier folgendes drin steht:

    Code
    function lookat(fov)
    	{
    		krpano().set( "movectorz(" + fov + ")" );
    	}


    An Stelle von function lookat(fov) hab ich schon function ondown(fov) rein gesetzt - geht aber auch nicht.


    Quote

    wenn, dann müsste das "swfkrpanomousewheel.js" Script verwendet werden,
    ich würde aber empfehlen gleich das "swfkrpano.js" der 1.0.8 beta 9 Version zu verwenden,
    dort ist gleich alles enthalten,


    hab ich gemacht, jedoch wenn ich nur swfkrpano.js drin habe und die Dateien swfobjects.js und swfmacmousewheel.js raus nehme dann geht gar nix mehr.

    Hier mal mein html-Code der Seite:

    Vielleicht findest du den Fehler? Würde mich freuen.

    Viele Grüße

    Matthias

  • Hi,

    bedeutet das dann, dass bei flat-panos keine vernünftigen Werten anzeigbar sind?

    doch, nur welche FOV Werte erwartest du bei einem flachen Bild?

    wenn fovtype="HFOV" gesetzt ist, dann liefert "view.fov" den horizontalen FOV,
    und beim einem hfov="1.0" für das Bild, dann kommen z.B. Werte von 0.* bis 1.0 je nach Zoom...

    ohne aber die genaue Absicht zu kennen, was du genau mit den Werte vor hast,
    kann ich dir auch nicht direkt weiter helfen...


    Die andere Version mit smooth nach deinen Vorgaben

    das smooth() gehört zum krpano Aufruf, nicht in den JS Aufruf,


    Quote

    krpano().set( "movectorz(" + fov + ")" );

    oje, hab mir gerade die HTML angesehen, da ist so einiges falsch
    hmm, wie soll ich das jetzt erklären...

    also mit Javascript können erstmal nur Javascript Funktionen aufgerufen werden,
    d.h. bei demo Code hier: (Auszug aus deiner HTML)

    Quote

    <a onClick="lookto(0.3,0.7,0.06)">lookto 0.3/0.7/0.06</a>
    <a onClick="lookto(0.3, 0.7, 0.06, smooth(0.2, 0.2, 0.2))">lookto(0.3, 0.7, 0.06, smooth(0.2, 0.2, 0.2))</a>
    <a onClick="lookto(0,0,1.50)">Reset</a>
    <a ondown="movevectorz(-1)">Zoom in</a>

    und:

    hat die "lookto" Javascript Funktion nur 3 Parameter, d.h. das smooth() ist dort falsch,
    und es gibt keine "movevectorz" Javascript Funktion, deshalb funktioniert auch dieser Aufruf nicht,

    weiters bei der lookat(fov) Javascript Funktion ist der krpano set Aufruf falsch,
    die richtige Syntax für "set" wäre folgende:

    Code
    set(Variablenname, Wert);


    d.h. so wäre der Aufruf selbst richtig:

    Code
    krpano().set("movevectorz", fov);

    allerdings gibt die "movevectorz" Variable einen "Bewegungs-Vektor" an,
    d.h. solange die Variablen auf einen Wert ungleich "0" gesetzt ist, bewegt sich
    das Panorama in diese Richtung, in dem Fall zoomt es herein oder heraus,
    d.h. weiter in einer lookat() benannten Funktion macht das keinen Sinn,

    die richtige Anwendung wäre z.B. folgende - wird eine Taste/Button gedrückt,
    wird "movevectorz" auf einen Wert gesetzt (z.B. +1.0 oder -1.0) und beim
    loslassen der Taste wieder zurück auf 0.0,

    ...

    alle Klarheiten beseitigt?

    Schöne Grüße,
    Klaus

  • Quote

    alle Klarheiten beseitigt?

    absolut!!! *cry*

    meine Absichten sind folgende, Klaus:
    Ich würde gerne eine Seite erstellen, nach folgendem Vorbild: Gigapano Dresden
    Hier gefallen mir folgende Elemente sehr und die würde ich liebend gerne bei mir auch mal ausprobieren:

    - Drückt man auf den Reiter"Objekte" so werden Informationsfelder eingeblendet
    - Anzeige der prozentualen Zoomstufe (muss nicht grafisch sein, der Wert würde mir locker reichen)
    - damit die Navigationselemente nicht im Pano drin sind und Bereiche verdecken würde ich die Elemente gerne außerhalb setzen, also zoom-in, zoom-out, hoch, runter, links, rechts
    - kleine Vorschaubilder der entsprechenden gezoomten Bildausschnitte, die dann beim Anklicken sanft angefahren werden.
    - das ganze nicht nur auf Gigapixel und partielle Panoramen beschränkt sondern auch für "normale" 360° Kugelpanos umsetzbar

    Frage: Ist das überhaupt möglich?

    Ich würde auch nicht davor zurück schrecken, wenn sich jemand finden würde, der sich super damit auskennt und das ganze gegen ein Honorar macht. Müsste halt dann so gemacht werden, dass ich das auch beim nächsten Mal kapiere, wenn ich ein weiteres Pano so darstellen will *wink*

    Grüße
    Matthias

Participate now!

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