+ Antworten
Seite 1 von 13 1 2 3 11 ... LetzteLetzte
Ergebnis 1 bis 10 von 126
  1. #1
    Registriert seit
    Sep 2005
    Ort
    Stade
    Beiträge
    6,610

    Standard Tonis Bastelkeller - Wo ist mein Android? [Updated]

    Wo ist mein Android?

    Man ließt hier im Forum ja ständig irgendwelche Fragen, Teil- und Komplettlösungen zum Thema Handy und Ortung. Scripte triggern in Abwesenheit und so weiter und so fort. Oft werden da irgendwelche Apps vorgestellt, die irgendwelche Aktionen ausführen, die wiederum irgendetwas anstoßen was dann aktiv abgefragt werden können. Zum Teil sehr fragile Konstrukte, die kompliziert aufgesetzt werden wollen und manchmal auch noch Geld kosten. Wenn man nach Handyortung googelt findet man haufenweise Lösungen die sogar ein Abo beinhalten. Dabei haben Google-Benutzer eigentlich schon alles fix und fertig - buchstäblich - in der Tasche. Und - bevor ihr fragt - meine Recherchen zeigten, dass es sogar fürs iPhone geht. Aber da müsst ihr euch selbst kümmern. Das kann ich hier mangels Hardware nicht testen.

    Die Antwort heisst Google Latitude und jeder, der ein Android Handy hat, hat diesen Dienst bereits im Gratis-Abo, wenn es nicht manuell deinstalliert wurde. Versteckt ist er in Google Maps (Stichwort für die Apple-Fraktion) aber weil die Geräteortung schon "ein wenig" in die Privatsphäre eingreift muss der Dienst separat aktiviert werden. Vernünftig.

    Vorteile gegenüber anderen Lösungen

    Google hat sich nicht lumpen lassen und die volle Power der eigenen Android-API genutzt. Die benötigte Software ist auf den meissten Geräten bereits vorhanden. Komplizierte Einstellungen entfallen völlig. Die Ortung erfolgt wegen der Genauigkeit vorzugsweise über GPS, kann aber auch über WLAN oder Mobilfunkmasten erfolgen. Letzteres hat den Vorteil, dass bei ausgeschaltetem GPS der Akku nicht zusätzlich belastet wird und sich die Laufzeit nicht verkürzt. Grad bei frühen Dualcore-Geräten im GHz-Bereich, wie meinem HTC Sensation, hält er bei normaler Benutzung ja eh nur etwa einen Tag. Ein echtes Plus in meinen Augen. Die Ortung per GPS funktionierte bei mir glaub ich nur wenn Google-Maps im Hintergrung gestartet war.

    Da wir unsere Informationen direkt von Google in IPS bekommen brauchen wir diese Information nicht über irgendwelche Clouds oder Dienste kompliziert weiterleiten. Alles klappt "einfach so" out of the Box. Wenn man, wie es mir mehrfach passiert ist, Google Maps versehendlich schließt, funktioniert die Ortung trotzdem. Dann aber nur über WLAN bzw GSM, also Mobilfunkmasten, und nicht mehr so präzise. Nach einigen Tests habe ich aber eh beschlossen, dass mir das auch ausreicht. Sogar auf dem Lande.

    WLAN Ortung

    Die Ortung per WLAN birgt die Gefahr, dass private Router nach einem Umzug der Eigentümer eine falsche Position gespeichert haben. Ich selbst hatte bei ner Freundin nach ihrem Umzug immer die falschen Wetterdaten auf dem Display. Dahinter steckt die selbe Technologie, die wir heute nutzen wollen. Ich kann nicht mehr sagen wo genau ich das damals korrigiert habe, aber das war im Netz schnell recherchiert und behoben.

    Wer sein Zuhause oder seine Arbeitsstätte auch ohne GPS eingeschaltet haben zu müssen zuverlässig geortet haben möchte kann seinen Router in die Google-Datenbank eintragen. Das passiert sowiso irgendwann wenn die Google-Autos vorbei kommen und man nicht widersprochen hat. Beschleunigen kann man den Vorgang, nach nem Umzug zum Beispiel, wenn man sich mit seinem Handy über WLAN einbucht und GPS eingeschaltet ist. Wenn der GPS-Empfang gut genug ist wird die Position nach einer Weile, das kann schon mal einen Abend dauern, aktualisiert. Nun wird Latitude euch zuhause auch ohne eingeschaltetes GPS recht zuverlässig orten können.

    GSM Ortung

    Die Ortung per Mobilfunkmast klappte bei meinem Trip nach Hamburg hervorragend und war erschreckend präzise. Aber auf dem Lande hängt sie stark davon ab wo mein Gerät grad eingebucht ist. Da in dem Ort wo ich arbeite kein Sendemast steht springt die Anzeige immer zwischen den beiden Nachbarorten hin und her. Für eine Unterscheidung "Bin ich zu Hause, auf Arbeit, bei Freunden oder anderswo" reicht es aber allemal.


    Genug gequatscht - So gehts

    Zunächst müssen wir den Dienst bei Google einschalten. Üblicherweise hat der stolze Eigentümer eines Android-Handys einen Benutzeraccount bei Google über den er sich zum Beispiel auch im "PlayStore" (früher "AppStore") einloggt. Unter www.google.de/latitude kann man damit einige wenige Einstellungen vornehmen. Aber mehr brauchen wir auch nicht. Oben rechts gibst den "Zahnrad-Button" um an die "App-Einstellungen" zu kommen. Eigentlich gibt es nur drei Optionen, die man wählen kann. "Nur die Stadt anzeigen", "So genau wie möglich orten" und "Deaktiviert". Nun, Deaktiviert ist für uns hier die einzig schlechte Wahl. Der Rest liegt in Eurem Ermessen .

    Weiter unten gibt es ein bissel HTML-Code, das sogenannte "Badge", der für eure Webseiten und Blogs gedacht ist. WICHTIG: Wenn ihr den veröffentlicht kann jeder sehen wo ihr seid. Solange ihr das nicht tut kann niemand ohne euer Passwort an diese Informationen kommen. Wichtig zu wissen - find ich. So sieht dieser Badge aus:

    HTML-Code:
    <!-- Google Public Location Badge -->
    <iframe src="http://www.google.de/latitude/apps/badge/api?user=1234567890123456789&type=iframe&maptype=roadmap&hl=de" width="180" height="300" frameborder="0"></iframe>
    <!-- To disable location sharing, you *must* visit https://www.google.com/latitude/apps/badge and disable the Google Public Location badge. Removing this code snippet is not enough! -->
    Wir interessieren uns jetzt für die URL. Dahinter verbirgt sich, fix und fertig, ein Script aus der Google-Maps API. Und das Beste: Wir brauchen uns um nichts mehr kümmern . Mit einem kleinen Script bekommen wir alle Daten, die wir brauchen. Ich hab euch das mal zusammen gepuzzelt.

    PHP-Code:
      $result file_get_contents('http://www.google.de/latitude/apps/badge/api?user=12345678901234567890&type=iframe&maptype=roadmap&hl=de');
      
    $result substr($resultstrpos($result'&center=')+8PHP_INT_MAX);
      
    $gps substr($result0strpos($result'&')-1);
      
    $result substr($resultstrpos($result'"geocode"')+10PHP_INT_MAX);
      
    $ort substr($result0strpos($result','));    
      
    // in $ort steht schon alles wichtige drin. Der Rest ist nur für Berechnung der Entfernung 
      // von zuhaus. Wir gehen hier von Luftlinie aus.

      // Die Koordinaten von zuhause - bekommt ihr bei Google maps raus. Rechtsklick auf euer 
      // Haus und dann auf "Was ist hier?" klicken.
      
    $HomeLat 53.890708;  
      
    $HomeLong 8.680936;

      
    // Koordinaten von Google
      
    $PosLat substr($gps0,strpos($gps','));
      
    $PosLong substr($gpsstrpos($gps',')+1PHP_INT_MAX);
      
    $lat= ($PosLat+$HomeLat)/2*0.01745;
      
    $dx 111.3 cos($lat)*($HomeLong-$PosLong);
      
    $dy 111.3 *($PosLat-$HomeLat);

      
    $distanz round(sqrt($dx*$dx+$dy*$dy));

      print 
    'Ich bin in '.$ort.' - '.$distanz.'km von Zuhaus'//Luftlinie 
    Zitat Zitat von Ausgabe
    Ich bin in Cuxhaven - 5km von Zuhaus

    Wenn ihr Webfront-Verrückten () eure Position grafisch darstellen wollt kann man die Geokoordinate auch als Parameter an google-maps übergeben. Das sieht dann so aus:

    www.google.de/maps?hl=de&q=53.890708,8.680936

    Wer es ein wenig hübscher und komfortabler haben möchte, dem empfehle ich sich die Google-Maps API einmal näher anzuschauen. Einstiegspunkt wäre zum Beispiel der Inhalt von $result (aus dem Script oben) direkt nach der esten Zeile. Ist aber nix für Anfänger.


    Für Poweruser [Update]

    Im Verlauf dieses Threads stellte sich heraus, dass einige es mit der Ortung doch lieber auf die Spitze treiben wollen und auf den Komfort einer genauen GPS Positionsbestimmung nicht verzichten wollen. Das war es zwar nicht was mir bei einer einfachen Lösung vorschwebte aber ich will euch das Ergebnis nicht vorenthalten. Aus diversen Scripten, die hier gepostet wurden hab ich euch also mal eine Lösung für Poweruser zusammen gestellt. Der Lob für die meisste Arbeit gebührt dabei jbu.

    Wichtig ist bei dieser Lösung, dass bei eurem Badge in der URL der type auf &type=json geändert werden muss. Der Rest fliegt raus. So wie in meinem Beispiel hier.

    PHP-Code:
      // Koordinaten von zuhause - bekommt ihr bei Google maps raus. Rechtsklick auf euer Haus und 
      // dann auf "Was ist hier?" klicken.  
      
    $Home '53.890708,8.680936';   

      
    $json json_decode(file_get_contents('http://latitude.google.com/latitude/apps/badge/api?user=12345678901234567890&type=json')); 
      
    $Position = ($json->{'features'}[0]->{'geometry'}->{'coordinates'});
      
    $Position "$Position[1],$Position[0]";

      
    // Routenplaner von Google Maps aufrufen
      
    $Route simplexml_load_file(utf8_encode('http://maps.google.com/maps/api/geocode/xml?address='.$Position.'&sensor=false'));
      
    $Ort utf8_decode($Route->result->formatted_address);
    //  $Ort = preg_replace("/, Germany/", "", $Ort); // Land entfernen wenn man das nicht angezeigt haben will

      
    $Route simplexml_load_file(utf8_encode('http://maps.google.ch/maps/api/directions/xml?origin='.$Position.'&destination='.$Home.'&sensor=false'));
      
    $Zeit $Route->route->leg->duration->text
      
    $Distanz $Route->route->leg->distance->text// Der Routenplaner gibt die Straßenkilometer aus.

      
    print "\n".$Ort.' - '.$Distanz.' von Zuhaus. Fahrzeit: '.$Zeit
    Zitat Zitat von Ausgabe
    Papenstraße 4, Cuxhaven - 19.2 km von Zuhaus. Fahrzeit: 21 Minuten
    Google verwendet einen "smart positioning algorythm" wie sie es nennen. Dabei wird die Position nicht so häufig aktualisiert wie wir es vielleicht gerne hätten. Aber da kann man was machen. Es gibt im Playstore zwei Apps, die Einstellungen der Aktualisierunghäufigkeit zu lassen. Die Eine heisst Backitude und ist kostenlos. Eine Zweite namens Latitude Update kostet einen kleinen Betrag.

    Ich möchte noch schnell anmerken, dass so eine exzessive Ortung und Datenbank-Updaterei natürlich auch den Akku ganz anständig belasten. Ich hatte nicht erwartet, dass ich das erwähnen muss, aber der Verlauf dieses Threads hat mich eines besseren belehrt.

    Privatspäre

    Wenn ihr die Ortung wieder abschalten wollt, so müsst ihr das zwingend wieder auf der Google-Latitude Seite tun. Ein einfaches löschen des Scripts reicht hier nicht. Goggle weist an mehreren Stellen ausdrücklich darauf hin. Darum sag ich es hier auch noch einmal in aller Deutlichkeit.

    Viel Spaß damit.





    Gruß,

    eurer Toni
    Geändert von Tonic1024 (25.02.13 um 12:33 Uhr)

  2. #2
    Registriert seit
    Nov 2011
    Beiträge
    406

    Standard Für Iphone Nutzer

    Erstmal Danke an Toni. Klappt Super.

    Für Iphone Nutzer Einfach die APP Google Latitude Runterladen. Google Daten eingeben. Und schon Funktioniert es wie oben beschrieben.

    Wobei ich sagen muss das die $gps Geo Daten nicht ganz genau sind . Laut Google sitze ich gerade 150 m von meinem Haus
    entfernt auf einem Land und Schreibe hier ins Forum .

  3. #3
    Registriert seit
    Sep 2005
    Ort
    Stade
    Beiträge
    6,610

    Ist bei mir auch so wenn GPS aus ist. Hast du GPS eingeschaltet? Wenn ja, was zeigt das denn für eine Position? Genauer als dein Handy weiss latitude das auch nicht. Und dann musst du ein bisschen Geduld haben. Die kommunizieren nicht direkt im Sekundentakt.
    Geändert von Tonic1024 (15.02.13 um 13:09 Uhr)

  4. #4
    Registriert seit
    Nov 2011
    Beiträge
    406

    Ich habe GPS eingeschaltet , hast aber recht ist genau die Position die das IPhone ermittelt hat. Also hat google mal wieder als richtig gemacht. Hat sich nach ein paar Minuten auch eingependelt. Sitze jetzt laut Koordinaten immer hin im Nachbar Haus.
    Jetzt kann ich endlich den Quatsch mir Sosumi und MySQL und usw löschen. Wobei das auch gut funktioniert hat.

    Danke Nochmal

  5. #5
    Registriert seit
    Sep 2005
    Ort
    Stade
    Beiträge
    6,610

    Naja... GPS und geschossene Räume... Man kennt das ja

  6. #6
    Registriert seit
    Sep 2012
    Ort
    Stuttgart - Remshalden
    Beiträge
    257

    Hi Toni,

    wie immer wieder ein geniales Script/Idee --> DANKE

    wie bekomm ich das im Webfront auch angezeigt? HTMLBox?
    So klappts leider nicht, denn da wird kein Inhalt angezeigt

    PHP-Code:
    SetValueString(15868  /*[Program\Android-Google-Latitude\MAP]*/'<iframe src="http://www.google.de/maps?hl=de&q='.$gps.'" width="100%" height="500" frameborder="0" scrolling="no"> </iframe>'

  7. #7
    Registriert seit
    Sep 2005
    Ort
    Stade
    Beiträge
    6,610

    Puh... da muss ich passen... Hab kein Webfront im Einsatz.

    Stell die Frage doch mal im passenden Unterforum. Bin mir sicher einer der Spezis weiss das sofort.

    Toni

  8. #8
    Registriert seit
    May 2006
    Ort
    Hannover
    Beiträge
    3,092

    PHP-Code:
    <iframe width="600"
    height="350"
    src="http://maps.google.de/maps?hl=de&q=53.890708,8.680936&ie=UTF8&t=&z=14&output=embed" frameborder="0" scrolling="no" ></iframe
    Das Zauberwort ist
    PHP-Code:
    output=embed 
    .
    MfG Ralf

  9. #9
    Registriert seit
    Sep 2012
    Ort
    Stuttgart - Remshalden
    Beiträge
    257

    perfekt, läuft einwandfrei :-) --> DANKE

  10. #10
    Registriert seit
    Jul 2005
    Ort
    Schwanewede/Niedersachsen
    Beiträge
    1,843

    Hallo,

    bin hier gerade am verzweifeln. Wenn ich das badge direkt im Browser über den Link starte stimmen die Koordinaten und die Position wird Korrekt angezeigt.

    Wenn ich die Koordinaten über Toni's Script von der Google Api laden sind die um etwa 50m daneben. Wie kann das sein ?
    Gruss
    Horst

    IP-Symcon 5.0 IPS-868, FS20, HM, HUE, Plugwise

Ähnliche Themen

  1. Tonis Welt ist wieder online
    Von Tonic1024 im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 37
    Letzter Beitrag: 09.12.14, 15:12
  2. HILFE mein edip ist gesprungen
    Von uriel2006 im Forum Off Topic
    Antworten: 6
    Letzter Beitrag: 01.12.10, 19:38
  3. WO ist mein Dashboard ?
    Von djtark im Forum Dashboard
    Antworten: 4
    Letzter Beitrag: 15.09.10, 12:54
  4. Wo ist mein Object Inspector?
    Von titoso im Forum Dashboard
    Antworten: 1
    Letzter Beitrag: 03.03.08, 09:09
  5. Mein DS9490 ist blind
    Von jolentes im Forum 1-Wire, M-BUS
    Antworten: 13
    Letzter Beitrag: 14.07.06, 16:40