Standort nach bestimmter Enfernung hochzählen

  • Hallo an alle,


    ich möchte ein app schreiben die den standort ermittelt und sobald sich der aktuelle standort sich vom letzt gemerkten standort 50 meter unterscheidet (also die entferntung) dann soll ein integerwert um eins hochgezählt werden.


    Bsp: Standort A (longitute X1, latitude Y1) gemerkt. Sobald 50 meter von Standort A entfernt, speichere Standort B (longitute X2, latitude Y2) und zähle i um eins hoch. und so weiter...


    ich denke mal schon, dass das irgendwie möglich ist, leider habe ich keinerlei eine vorstellung und auch keine idee wie ich überprüfen kann, dass sich mein standort um 50 meter vom letzt gespeicherten punkt entfernt hat. da weiß ich nicht, wie man da herangehen kann. gibt es extra Methoden/klassen für sowas? für jeden kleinen tipp wäre ich sehr dankbar.

  • Hallo CdWechsler,


    schau mal in der Doku zum LocationManager. Hier findest du eine schöne Methode die dich dabei unterstüzt ;)


    http://developer.android.com/r…ation.LocationListener%29


    Bsp:


    PHP
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, minTime, minDistance, locationListener);


    Im erzeugten Listener brauchst du dann nur noch innerhalb der Methode onLocationChanged die Position zu speichern what ever.



    public void onLocationChanged(Location location) {
    //Standort speichern..
    }


    Als weiteren Tipp nenne ich dir hier das Training von Google, welches du unbedingt durcharbeiten solltest (inkl. Doku natürlich) :


    http://developer.android.com/t…tion/locationmanager.html



    Speziell:


    public static void distanceBetween (double startLatitude, double startLongitude, double endLatitude, double endLongitude, float[] results)
    public float distanceTo (Location dest)

  • naja - Abstand im 2D geht mit Pythagoras - *ganzschnellkopfeinzieh*


    double dist = Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));


    Dann musst du nur noch gucken, wie du die Distanz in Grad umrechnest in Meter - aber da hilft dir vielleicht der Erdumfang. ;)

  • Hallo drumliner,


    wir hatten unsere Antworten gleichzeitig geschrieben - und ich hatte mich eher auf die Frage nach der direkten Berechnung aus vorhandenen Koordinaten bezogen.


    Natürlich ist die Anwendung der Location-Methoden sinnvoller, weil da die Berechnung schon drin ist. ^^

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!