• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

I-Phone Problem Geo-Memory

bodenseepingu

Geomaster
Hallo,

I-Phone-Besitzer haben anscheinend mit meinen Geo-Memories Probleme - leider melden sich sehr wenige, die Probleme haben und bieten sich als Tester an.

Kann es sein, daß das I-Phone eine LUA-IF-Bedingung der Form
Code:
   bool_values = { true, false, true, false }
    ...
   i = 1
   if bool_values[i] then...

nicht korrekt interpretiert werden und man stattdessen

Code:
    ...
    if bool_values[i] == true then...

schreiben muss ?

Hat ein I-Phone-Player/Programmierer hier Erfahrungen oder kann mal einen test machen?
 

xxmurdockxx

Geomaster
also ich kann gerne testen.
hab aber von LUA keine Ahnung :D

aber wenn du mir eine Testcartridge machst mit versch. Möglichkeiten,
dann probier ich gerne.
 
OP
B

bodenseepingu

Geomaster
Hier eine Urwigo-Testcartridge inklusive gwc-file.

Führe das mal bitte auf I-Phone aus - beide Kommandos des Test-Items sollten dasselbe Ergebnis bringen, ist das nicht der Fall, dann hat der I-Phone Player einen Bug.Anhang anzeigen test_if.zip
 
OP
B

bodenseepingu

Geomaster
Hallo,

hat einer der I-Phone-Besitzer schon erfolgreich das Geo-Memory draußen gespielt.

Ihr könnt die 2x2 Übungsvariante spielen - 20x20 Meter Platz sollten da reichen und mit 4 Karten sollte das schon mal in 5 Minuten beim Einkauf erledigt sein - kann das mal bitte
einer machen und schildern, ob es Probleme gibt oder nicht.

Es gibt zwar unter wherigo.com den ein- oder anderen erfolgreichen I-Phone Log, aber es ist nicht klar, ob es z.B. unter dem I-Phone noch irgendwelche Probleme gibt - ausser mit dem schlechten GPS-Signal.

Hier der Link:
http://www.wherigo.com/cartridge/details.aspx?CGUID=bbf0127f-e311-44f7-9df3-a2647a4b0cad
 

BY-Pega

Geocacher
Ich weiß das HerrPuck das Memory ohne Probleme auf einem iPhone4 gespielt hat. Ich kam bei meinem damaligen 3GS nicht über das Festlegen der Koordinaten und das Aufdecken der ersten Karte raus.

Ich hab jetzt zwar ein 4S aber seither nicht mehr getestet.
 

arminus

Geocacher
Ich weiß das HerrPuck das Memory ohne Probleme auf einem iPhone4 gespielt hat.

Hmmm. Auf meinem 4S funktioniert's definitiv nicht. Nachdem ich heute Nachmittag meinen Sohn frustiert habe (Papa, das ist langweilig), hab ich eben nochmal getestet. Zuerst hab ich die Cartridge im Emulator gespielt um zu sehen wie es sich verhalten sollte. Dann in's Gelände, 2x2:

  • A1 festgelegt
    20m nach Norden, B1 festgelegt
    5m zurück nach Süden
    (der Emulator würde jetzt erkennen "Du bist an der Spielkarte B1")
    das 4S sagt in You see nichts, bzw. erkennt erst ca.15m weiter südlich A1
    das decke ich auf und gehe wieder Richtung B1
    You see bleibt leer
    wieder zurück Richtung A1, manchmal (?) meint er jetzt A2, bzw. liefert nacheinander (ohne 4S Bewegung) hintereinander A1 und A2
    ein kontrolliertes Aufdecken geht aber nicht
    und B2 finde ich gar nicht

Schade, ich hab ein Geo-Memory in meiner Homezone, aber das wird wohl nichts mit dem 4S. Ich muss dazu sagen, dass ich mit dem gleichen 4S zwei andere Whereigos ohne Probleme gespielt habe ...
 
OP
B

bodenseepingu

Geomaster
Die wenigsten wherigo's benutzen die geografischen Funktionen in Lua für Peilung sowie für Winkel- und Entfernungsmessung. So gut wie alle meine Play Anywheres nutzen diese. Hier scheint der i-phone player Probleme zu haben. Ich habe den exakten Fehler noch nicht, denke aber dass winkelmessungen um 180 Grad falsch sind und das spielfeld unterhalb der Grundlinie aufgezogen werden

bei You see wirst du bei Memory auch nix sehen - ausser das gesamte Spielfeld.
Wenn du über das Spielfeld gehst wird dir per Messagebox angezeigt auf welcher Karte du stehst.

Ich fürchte ich werde alle meine Play Anywheres als Nicht-I-phone geeignet deklarieren, da ich mangels Testmöglichkeit auch nicht in der Lage bin Workarounds zur Verfügung zu stellen.
 

arminus

Geocacher
Ich habe den exakten Fehler noch nicht, denke aber dass winkelmessungen um 180 Grad falsch sind und das spielfeld unterhalb der Grundlinie aufgezogen werden
Wenn nur das Spielfeld falsch aufgezogen ist, dann könnte ich ja die A1/F1 Grundlinie so in's Gelände legen, dass ich in die andere Richtung genug Platz habe ?
bei You see wirst du bei Memory auch nix sehen - ausser das gesamte Spielfeld.
Doch, da kommt mal 1, 2 oder eben gar nichts.
Ich fürchte ich werde alle meine Play Anywheres als Nicht-I-phone geeignet deklarieren, da ich mangels Testmöglichkeit auch nicht in der Lage bin Workarounds zur Verfügung zu stellen.
Ich hab mal begonnen mir Whereigo Implementierungen anzusehen, hab aber dann mangels Zeit (und dem Verdacht, dass ich bei eigenen Whereigos in genau solche Geräte-spezifischen Probleme laufen würde) nicht weiter gemacht. Ich könnte aber trotzdem versuchen Dir zu helfen, den prinzipiellen Background müsste ich als Informatiker haben ;)
 
OP
B

bodenseepingu

Geomaster
Das Angebot nehme ich doch gerne an.

Bitte einfach mal die beiliegende Zip-Datei entpacken - enthält eine Urwigo-Datei mit LUA-Code in den User-Functions aber auch schon die .gwc-Datei.

Der Test auf dem I-Phone ist ganz einfach.

Es wird Entfernung und Winkel zwischen zwei Punkten gemessen und ausgegeben - einfach den Anweisungen der Cartridge folgen und hier dann posten, was man gemacht hat und was das Gerät ausgegeben hat - z.b. 20 Meter noch Nord gegangen, Gerät hat 18,7m in 3.5 Grad ausgegeben (das wäre ok). Wenn das I-Phone aber sagt dass es beim Gehen in Richtung Nord in 180 Grad gegangen sei, dann ist das definitiv ein Bug.Anhang anzeigen test_dist_bearing.zip

Angeben der Player-Version wäre auch nicht verkehrt - ggf. Test auch mal für andere Richtungen wiederholen
 

arminus

Geocacher
Ok, gut, dass gerade Mittagspause ist ;)

Player Version v317

Einmal ca. 20meter 160 Grad bzw. 340 Grad gegangen, zur Sicherheit noch mit dem Rad grob etwas weiter Richtung 110 Grad gefahren, Ausgabe in allen Fällen

Distance: 0 m, Richtung: 90 Grad :???:

Schlechte Papiere, oder ?
 
OP
B

bodenseepingu

Geomaster
Das ist ja mal interessant, damit hätte ich jetzt gar nicht gerechnet....

Die Projektions-Funktion geht hoffentlich - müsste eigentlich, ansonsten würden ja beim Geo-Memory
nicht an verschiedenen Stellen verschiedene Karten angezeigt werden.

Ja - grundsätzlich müsste für zwei gegebene ZonePoints auch über ein paar Sinus / Kosinusse
die Entfernung und das Bearing ausgerechnet werden können. Da muss aber dann schon ewas aufwändigere Mathematik dahinter geklemmt werden, wie im angegebenen Link. Vielleicht geht's
auch etwas einfacher...

Den Winkel (und der ist wichtig) haben wir dann aber trotzdem noch nicht - den müsste man auch berechnen. Über die Genauigkeit (etwa 1 Meter würde reichen) müsste man sich noch Gedanken machen...

Jetzt wundert es mich auch gar nicht, daß bestimmte andere WIG's Probleme machen - da müsste das Locations-Beispiel unter I-Phone auch Probleme machen...und mein neuster - Speed-Dating, der grad in Beta-Test ist auch...
 

arminus

Geocacher
Ich denke Wherigo.VectorToPoint ist nicht die Ursache. Ich hab das mal durch eine eigene Funktion ersetzt und bekomm' damit ebenfalls 0/0 :(

Es scheint vielmehr so zu sein, dass Player.ObjectLocation Mist liefert, bzw. beim zweiten Aufruf trotz physikalisch anderer Position die gleichen lat/lon Werte liefert :kopfwand: Ich hab das mit einer entsprechenden Positionsausgabe in Deiner Meldung geprüft. Im Emulator sind die Positionen unterschiedlich, mit dem iPhone im Gelände sind sie gleich.

Ich kenn mich mit dem Event Handling in Wherigo nicht aus, kann es sein, dass dadurch, dass beide Aufrufe im "Beim Starten" Event hängen, kein refresh stattfindet ?

(weiter ggf. per mail, das wird hier u.U. zu detailliert ...)
 
OP
B

bodenseepingu

Geomaster
Dann müsste es gehen, wenn man die Aufrufe in ein Item als Kommando verlagert und später ausführt - kannst ja mal testen...

Player.ObjectLocation ist nunmal die Spieler-Position, einen anderen Zugriff auf die aktuelle Koordinate kenne ich nicht.
 

arminus

Geocacher
bodenseepingu schrieb:
Dann müsste es gehen, wenn man die Aufrufe in ein Item als Kommando verlagert und später ausführt - kannst ja mal testen...
So geht's. VectorToPoint liefert dann tatsächlich eine um 180° gedrehtes Bearing auf dem iPhone.

Folgende Funktion liefert aber bei meinen Tests ein korrektes Ergebnis:
Code:
function calc_dist_bearing(pt1,pt2)
    local EARTH_RAD = 6378137.0 
    local lat1 = math.rad( pt1.latitude )
    local lat2 = math.rad( pt2.latitude )
    local lon1 = math.rad( pt1.longitude )
    local lon2 = math.rad( pt2.longitude )
    local p1 = math.cos(lat1) * math.cos(lon1) * math.cos(lat2) * math.cos(lon2)
    local p2 = math.cos(lat1) * math.sin(lon1) * math.cos(lat2) * math.sin(lon2)
    local p3 = math.sin(lat1) * math.sin(lat2)
    local distance = math.acos(p1+p2+p3)*EARTH_RAD
    
    local dLon = math.rad( pt2.longitude-pt1.longitude)
    local y = math.sin(dLon) * math.cos(lat2)
    local x = math.cos(lat1)* math.sin(lat2) -
        math.sin(lat1) * math.cos(lat2) * math.cos(dLon)
    local brg = math.deg(math.atan2(y, x))
    return distance,brg
end
Die könntest m.E. anstelle von Wherigo.VectorToPoint verwenden ... Der Vollständigkeit halber häng ich das Test urwigo an.
 

Anhänge

  • DistBearing2.zip
    2,1 KB · Aufrufe: 14
OP
B

bodenseepingu

Geomaster
wau - Danke - ich werds mal in ne testcartridge einbauen, da mal testen und dann wenn alles ok ist nach und nach meine wigs überprüfen - :gott:

alternativ - den entwickler der i-phone app anschreiben und fragen, ob er kurzfristig den fehler beheben kann - weiss jemand die email-addy des i-phone-wherigo-player-entwicklers?
 

arminus

Geocacher
Kannst mir ja das Memory Cartridge zum Testen mailen ... Damit ich das Ding in meiner Homezone endlich weg bekomme ;)
 
Oben