GPS auswerten von uTrackme

Hi,

ich habe eine schöne Idee, wie man das iPhone für An&Abwesenheitssteurung verwenden kann.

Mit dem App Utrackme, bekommt man die Daten in eine php Datei auf seinen IPS-Web-server geschrieben.

Das Sieht dann so aus:

  id = "8000-0017F23404D9";
  nm = "Bob";
  lk = 1;
  ll = 1245241092;
  tm = 1245241092;
  d = "1245241092,37.361689,-122.040731,100,8,-1,-1";

Erläuterung:

id: [string] - Unique identifier for the device.

nm: [string] - String used to identify this device in the map view
tm: [integer] - Time last seen by the server in seconds since 1970 (GMT)
lk: [integer] - 0 = device has no GPS lock; 1 = device has GPS lock
ll: [integer] - The last time this device had a GPS lock in seconds since 1970 (GMT)

d: [string] Location information in the format: „<time>,<latitude>,<longitude>,<accuracy>,<speed>,<course>,<altitude>“

Für uns sind eigentlich nur id, ll, d.

Bei braucht man nur <latitude>,<longitude>.

Wenn man an diese URL : Google Maps

einfach <latitude>,<longitude> anhängt, bekommt man die Position in GooleMaps super dargestellt.

Jetzt zu meinen Fragen:

  1. wie bekomme ich es hin, das ich mit iframe eine kombi aus dem GooleMaps Link und einer ausgelsenen Variable/Textdatei zusammenfüge ?

Ich habe es mit $xy versucht aber es wird 1:1 übernommen und nicht ausgelsen.

  1. Wie kann ich eine Datei auslesen mit IPS, und dann nur <latitude>,<longitude> herrausholen ?

Die Daten werden in eine text Datei geschrieben:
a:2:{s:40:„8b6903b8fff14f15c777626da93382c299c4c8e3“;a:6:{s:4:„time“;i:1304348075;s:2:„id“;s:40:„8b6903b8fff14f15c777626da93382c299c4c8e3“;s:4:„lock“;s:1:„1“;s:12:„lastlocktime“;i:1304348075;s:11:„device_name“;s:11:„iphone 4 o2“;s:8:„location“;s:35:„1304348044,49.815538,8.644228,65,“;}s:40:„80447f11c939074cd320002b3ad4bb5b78ee77b9“;a:6:{s:4:„time“;i:1304350459;s:2:„id“;s:40:„80447f11c939074cd320002b3ad4bb5b78ee77b9“;s:4:„lock“;s:1:„1“;s:12:„lastlocktime“;i:1304350459;s:11:„device_name“;s:10:„iphone 4 t“;s:8:„location“;s:41:„1304350449,49.815452,8.644167,30,0.0,112“;}}0,111";}}

mich interessiert ja nur das Fettmarkierte im Text.

  1. Alles ohne SQL !

Kann mir da eine unter die Arme greifen bitte.

file_get_contents, file, explode sind hier Stichwörter womit Du das erledigen kannst.

Ich glaub mit der Suche findest du ein Thema, welches sogar nen komplettes Skript hat. Zumindest erinner ich mich an was…

paresy

Ja gibt es aber mit sql und nur Kartendarstellung.

Ich will diese Daten noch weiterverwenden…

Verändere doch direkt die php Datei im WebServer von uTrackMe und schieb die Werte in IPS-Variablen. Warum erst so kompliziert über die Datei ;)?

paresy

Wenn ich wüste wie wäre es schön.

Kannst du mir sagen wie ich das mache ?

Welche Werte benötigst Du denn?

id, number, iudid, devicename, locationlock, date, time, latitude, longitude, accuracy, speed, course, altitude
8892, '1', 'faeb7a18816963ccc35c712a3e2ff1aa36615521', 'iPhone Werner', '1', '2011-03-24', 16:16:16, '48.178586', '11.189829', '65', '', '', ''

Diese werden von dem im Forum besprochenen Skript geliefert. Auslesen kannst Du es dann mit PHP & IPS. Und mit der DB sind Dir dann alle Werte die Du aufgezeichnet hast immer present.

Hi danke bin schon selber weiter gekommen.

Habe jetzt die 2 Werte rausgeholt und in 2 Variablen geschrieben.

Wie stelle ich es nur an, das ich nur 7 Zeichen von z.B. 12 Zeichen behalte ?

z.B. :

Die Zahl bekomme ich: 49.815538

Die Zahl will ich aber haben : 49.8155

z.B.:

<?
$value = "49.815538";
$erg = substr ($value, 0, 7);
echo $erg;
?>

Ergebnis:

49.8155

zu finden in vielen PHP-Hilfeseiten wie PHP - substr - String-Funktionen

Vorraussetzung in diesem Fall ist das dein Wert als String vorliegt. Wie man umwandelt ist auch auf solchen Seiten zu finden :wink:

Weiterrechnen würde ich aber mit solchen Zahlen nicht da die fehlenden Stellen schon einige hundert Meter ausmachen.

Eine Frage von mir.

Was willst Du den weiter verwenden?

Im Screenshot siehst Du das Anwendungsbeispiel aus dem Forum ergänzt um eine Anwesenheitserkennung und den Abstand zum Heimatort.

Habe das Projekt aber derzeit eingestellt das die Akkuzeit des iPhones rapide zu neige geht mit andauernder Übermittlung der Position.

Wäre ansonsten eine der besten Anwesenheitsmonitorings.

Ich will keinen SQL Server haben.

Und diese Anwesenheitsfunktion hätte ich so oder so programmieren müssen oder ?

Habs fast fertig, nur noch ein Prob.

Wie kann ich eine Platzhater $sffg hier einfügen das er verwendet wird ?

$lo=„49.815538,8.64422“;
$maps=„http://maps.google.de/maps?f=q&source=s_q&hl=de&geocode=&q=“;
$lo2=$maps+$lo;
SetValue(10976 /[gps\google Maps]/ , ‚<iframe src= „$maps“ width=„100%“ height=„650px“></iframe>‘);

Verstehe im Moment nicht genau was Du bezwecken willst. Wo solle die $sffg stehen, im Parameter $map???

Auch versteh ich die $lo2 nicht, soll die auch mit übergeben werden?

Sorry drücke mich blöd aus, die $sffg war nur ien Platzhalterbeispiel.

Ich will das der wert aus $map oder aus $map und $lo ausgelesen wird.

Also Du möchtest entweder

SetValue(10976 /*[gps\google Maps]*/ , '<iframe src= "$maps" width="100%" height="650px"></iframe>');

oder

SetValue(10976 /*[gps\google Maps]*/ , '<iframe src= "$lo2" width="100%" height="650px"></iframe>');

in die Variable schreiben???

Dann braucht es ein Kriterium wann er was machen soll, also mit einer if-Bedingung.

ja aber er schreibt es ja 1:1 rein und löst nicht den Inhalt von $maps auf ;-(

Schon mal so getestet?

Hat deine Varialbe das Profil ~HTML-Box?

ja schon getest, und das Profil stimmt.

Dann las mal die Anführungszeichen vor und hinter dem $maps weg.

Dann schreibt er es halt ohne " Zeichen in die Variable ;-(

So sieht mein Aufruf aus.

Ich rufe halt nicht direkt die Seite auch sondern eine weitere PHP auf dem Server aber vielleicht hilft es. Ansonsten bin ich erst einmal ratlos.

SetValueString(29230 /*[Test\Standortbestimmung\Karte]*/, "<iframe src=\"user/utrackme/map.php?lat=".$row['latitude']."&lng=".$row['longitude']."&devicename=".$row['devicename']."&altitude=".$row['altitude']."&date=".$row['date']."&time=".$row['time']."\" border=\"0\" frameborder=\"0\" style=\"top:0pt; bottom:0pt; left:0pt; right:0pt; width:100%; height:400px;\"/></iframe>");

Vielleicht mal mit „$map“ noch testen.