Sie sind nicht angemeldet.

1

Donnerstag, 13. Dezember 2012, 17:29

desktop - mobil

Habe mich jetzt etwas mit mobilgerät ( android ) befasst , folgendes problem habe bemerkt.

Die routinen din in xml geschrieben werden , wenn die aufwändig sind , laufen auf desktopkomputer ziemlich problemlos . Aber die gleiche routine auch wenn in html5 leuft wird für kleinen mobilen gerät zu aufwändig.
Zwar das panorama leuft , man kann die anschauen , aber bleibt öfters stecken. Und das passiert bereits bei nicht vielen plugins oder aktionen. Ganz einfach mobilgerät überfordert ist.

Die lösung wäre : für mobile geräte separate XML datei , die eben für mobile optimiert ist , also weniger aufwändig , für desctop/flash wieder andere xml datei die kann bischen komplizierter werden.

die frage ist:

wäre möglich bereits bei panoramaaufruf auf der html - ebene zu prüfen unter welchem system wird panorama aufgerufen , und dann von html bestimmte xml dateien aufgerufen wird ?

ZB:
also wir rufen "domäne/panorama.html" auf und in html wird entschieden welche xml datei aufgerufen wird zb "panodesc.xml " oder "panomobil.xml" ?

ich hätte gerne für mobilgeräte andere routine als für desctop und flash , aber nett wäre wenn die beide panoramen gleichen URL haben.
ich habe öfters für eines pano 2 div. xml dateien , aber wird per hand entschieden welche xml aktieviert sein sollte. hätte gerne das automatisch.

ist das möglich ?

3

Donnerstag, 13. Dezember 2012, 17:36

Ja das geht.
Sehr elegant sogar mit Bordmitteln von krpano - also etwas später.
Alles was du brauchst:

http://krpano.com/docu/actions/#device.flash
und
http://krpano.com/docu/actions/#loadxml

4

Donnerstag, 13. Dezember 2012, 18:03

Ja das geht.
Sehr elegant sogar mit Bordmitteln von krpano - also etwas später.
Alles was du brauchst:

http://krpano.com/docu/actions/#device.flash
und
http://krpano.com/docu/actions/#loadxml


jesus maria , tatsächlich 2 jahre habe in die dokumntation nicht geschaut . wurde deutlich ausgebaut.
nach paar ( hundert) stunden studieren und überlegungen wir das funktionieren , komme zu einer lösung.

vieleicht jemánd weiss, wie und wo sollte die enstprechende routine geschrieben werden?
und auch wenn jemand weiss , könnte auch vielleicht zittieren ?
am anfang das einfachste : wenn desctop dann 1.xml , wenn mobil( android) dann 2.xml

5

Donnerstag, 13. Dezember 2012, 18:47

$this->cacheCode('[php]','if(ismobile, loadxml(mobile.xml););
if(isdesktop, loadxml(desktop.xml););')

Dafür braucht man eigentlich nur bis zu den Beispielen zu scrollen, den Code zu kopieren und minimal anzupassen.
Ist natürlich einfacher es andere machen zu lassen...

6

Donnerstag, 13. Dezember 2012, 18:56

$this->cacheCode('[php]','if(ismobile, loadxml(mobile.xml););
if(isdesktop, loadxml(desktop.xml););')

Dafür braucht man eigentlich nur bis zu den Beispielen zu scrollen, den Code zu kopieren und minimal anzupassen.
Ist natürlich einfacher es andere machen zu lassen...


ja , danke , tatsächlich einfache , elegante lösung.
das wäre in html -oder in xml-dateien geschrieben ?


wen in xml dann wäre drittsexml datei notwendig , aber das kein problem ist.
was betrifft desctop möchte in krapano version 8.0 schreiben , was betrifft mobil in version 8.15.
hoffe es geht. So könnte ich alle alten panoramen bei bedarf mit kleinem aufwand auch auf mobil als low quality version anschaulich machen.

7

Donnerstag, 13. Dezember 2012, 20:23

alten panoramen bei bedarf mit kleinem aufwand auch auf mobil

:thumbsup:

8

Donnerstag, 13. Dezember 2012, 20:42

$this->cacheCode('[php]','if(ismobile, loadxml(mobile.xml););
if(isdesktop, loadxml(desktop.xml););')

Dafür braucht man eigentlich nur bis zu den Beispielen zu scrollen, den Code zu kopieren und minimal anzupassen.
Ist natürlich einfacher es andere machen zu lassen...


meine freude war etwas vorzeitig

sowas funktioniert nicht :

<krpano version="1.0.8.15">

<if(isdesktop, loadxml(pan167.xml)) / >

</krpano>


wo ist der fehler?
pan167 xml ist generiert unter version 8.15

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Panpan« (13. Dezember 2012, 20:49)


marijonas

Mega-User

Beiträge: 2 820

Wohnort: Kaufbeuren

Beruf: Wasserträger

  • Nachricht senden

9

Donnerstag, 13. Dezember 2012, 20:50

Ich kann zumindest einen Unterschied in zwei fehlenden Strichpunkten erkennen. Aber ich habe keine Ahnung, ob das die Ursache sein kann. Ich bin ja kein Coder.

Der Beitrag von »Panpan« (Donnerstag, 13. Dezember 2012, 20:53) wurde vom Autor selbst gelöscht (Donnerstag, 13. Dezember 2012, 21:44).

11

Donnerstag, 13. Dezember 2012, 21:45

Ich kann zumindest einen Unterschied in zwei fehlenden Strichpunkten erkennen. Aber ich habe keine Ahnung, ob das die Ursache sein kann. Ich bin ja kein Coder.


habe gefunden

es geht etwas anders.
wollte mir etwas zeit ersparen bei suchen der lösung .

hab ich das ganze im grief.
wenn alles funktioniert zeige fertige lösung

12

Donnerstag, 13. Dezember 2012, 22:20

ja, ich glaube hab schon

unter DIESE ADRESSE

sollten sich auf dem desktop komputer ein pano aufmachen (flash) , anderes als auf mobilen geräten (html5).

bitte prüfen ob es stimmt.

danke

13

Freitag, 14. Dezember 2012, 07:50

Guggst Du ..

..
»Panos for the people« hat folgendes Bild angehängt:
  • image.jpg

14

Freitag, 14. Dezember 2012, 08:06

Zitat

und weil multires an mobilen kann nicht dargestelt werden , derzeit sehe kein bedarf auf mobile umzusteigen , warte ab.monores habe vor 2 -3 jahren verlassen , werde wegen händys nicht wieder umsteigen- das bild hat priorität.Warte ab , wenn es funktioniert , oder jemand ein flashübersetzer für mobile schreibt.


Funktioniert es jetzt schon? Oder hab ich was verpasst...

15

Freitag, 14. Dezember 2012, 08:08

Auf dem Iphone gleiches Panorama wie beim "Panos for the people", Kein Ölpano, also anderes.
Gruß
Peter
Gruß
Peter

Nikon D7100, Nikon 10,5, Nikkor 18-105, Tamron AF 70-300.
Nähe Karlsruhe

Meine unzulänglichen Versuche

16

Freitag, 14. Dezember 2012, 08:41

Danke

so sein sollte - gleiche url adresse , div. panoramen auf desktop und mobil

es bedeuted, dass kann man unter einer url adresse diverse panoramen abrufen -die können unterschiedlich optimiert werden - für desktop oder langsameren mobil.

Das pano für desktop kann mehr ausgebaut werden - so wie der flash erlaubt , man muss sich nicht um html5 kümmern , weil man kann separate einfache routine für gleiches panorama , wenn die auf mobil aufgerufen wird schreiben.

Die darstellung wird dann mit überfliessegen daten nicht belastet. Ganz einfach - viele dinge die bei desktoppanoramen fast notwendig, bei mobil sinnlos sind.


die lösung - sehr einfach und jeder programmierer weis - je einfacher desto besser :

<krpano version="1.0.8.15" onstart="action(start)">

<action name="start">

if(device.desktop, loadpano(pan170.xml););

</action>

<view hlookat="0" vlookat="0" maxpixelzoom="1.0" limitview="auto" />

<image>
<cube url="pan167.tiles/mobile_%s.jpg" />
<mobile>
<cube url="pan167.tiles/mobile_%s.jpg" />
</mobile>
</image>




</krpano>

also wenn desktop -wird pano A dargestellt , sonnst pano B ( dabei pano B kann gleich wie pano A sein , nur mit anderem xml )


Aber die lösung ist nicht wirklich elegant , weil bedingter sprung if... bei jedem ablauf wird geprüft , und es kostet zeit , das pano unter flash wird dann nicht wirklich so fliessend aufgemacht ( seiner zeit habe grosser wert auf das gelegt).

GIBT ES MÖGLICHKEIT DIE UMSCHALTUNG IN HTML - datei PROGRAMMIEREN ?

WIE IST DIE LÖSUNG?

derzeit pano wird in html so aufgerufen:

<script>
embedpano({swf:"mono.swf", xml:"mono.xml", target:"pano", html5:"auto", passQueryParameters:true});
</script>


hätte gerno die analogische lösung :

wen flasch/desctop dan pano A
wenn nicht flasch dann pano B - aber wie gesagt im html.


vieleicht jemand kann sagen wie?

danke

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Panpan« (14. Dezember 2012, 09:59)


17

Freitag, 14. Dezember 2012, 09:17

Das könnte so aussehen:

$this->cacheCode('[php]','<html>
<head>

<style>
body{ font-family:Arial, Helvetica, sans-serif; font-size:10px; margin:0px; padding:0px;}
* html, * html body{ overflow: hidden; }
a{ color:#AAAAAA; text-decoration:underline; }
a:hover{ color:#FFFFFF; text-decoration:underline; }
</style>

</head>

<body>

<!-- abfrage des user-agent: start mit separater index.html -->

<script>
var ua = navigator.userAgent.toLowerCase();
if(ua.indexOf("ipad") >= 0 || ua.indexOf("iphone") >= 0 || ua.indexOf("ipod") >= 0 || ua.indexOf("mobile") >= 0 || ua.indexOf("android") >= 0)
{
top.location="./mobile/index.html";
}
</script>

<!-- start der flash-version -->

<div id="krpanoDIV">
<noscript><table width="100%" height="100%"><tr valign="middle"><td><center>ERROR:<br><br>Javascript not activated<br><br></center></td></tr></table></noscript>
</div>

<script type="text/javascript" src="krpano/swfkrpano.js"></script>

<script type="text/javascript">

var swf = createswf("krpano/krpano.swf", "krpanoSWFObject", "100%", "100%");
swf.addVariable("xml", "tour.xml");
swf.embed("krpanoDIV");

</script>

</body>
</html>




')

19

Freitag, 14. Dezember 2012, 13:10

Das könnte so aussehen:

wer soll das als reiner anwender noch nachvollziehen können? ich bitte um klärung.
Viele Grüße, Micha