GPS fix erstellen - Satelliten Anzeige

M

MBPower

Fortgeschrittenes Mitglied
11
Hallo zusammen
Versuche eine kleines Testapp mit GPS Ortung zu erstellen. Das funktioniert so weit auch, aber leider bekomme ich extreme GPS Ausreisser, wenn ich in ein Gebäude gehe. Wenn nicht genug Satelliten vorhanden sind, dann sollen auch keine GPS Daten angezeigt werden. Leider kann ich nicht sagen, warum in Gebäuden auf einmal extrem falsche Werte angezeigt werden, aber ich denke es hat damit zu tun, dass z.B. nur zwei Satelliten zur Verfügung stehen und er auch schon versucht damit was zu errechnen. Oder wie kann man das erklären?
Die Ausreisser können auch schon mal ein paar 100km sein.
Nur wie kann man den folgenden Code erweitern, damit nur richtige Positionen ausgegeben werden.

Code:
private final LocationListener locationListener = new LocationListener() {

    public void onLocationChanged(Location l)
    {
        txtLatitude = (TextView) findViewById(R.id.txtLatitude);
        txtLongitude = (TextView) findViewById(R.id.txtLongitude);

        txtLatitude.setText("" + l.getLatitude());
        txtLongitude.setText("" + l.getLongitude());
    }

    public void onProviderDisabled(String provider){}
    public void onProviderEnabled(String provider) {}
    public void onStatusChanged(String provider, int status, Bundle extras) {}
}




private void Interval () {
    LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    LocationProvider provider = lm.getProvider("gps");

    lm.requestLocationUpdates("gps", 5000, 1,locationListener);
    counter = new MyCount(5000,1000);
}
 
Zuletzt bearbeitet:
Kann mir dabei keiner helfen?
 
Über 120 Views und niemand kann mir helfen. :-(

Hier gibt es so viele Experten, da wird mich doch jemand einen guten Tipp geben können.
 
Ganz notfalls würde ich einfach die Entfernung zum alten Punkt berechnen und bei einer zu großen Entfernung zum alten Punkt(bzw wenn du es wenigstens ein bisschen ordentlich machen willst einer zu großen Änderung der Geschwindigkeit) den neuen Punkt einfach ignorieren.

Edit:
Hab grad nochmal gesucht:
Probier doch mal bitte onStatusChanged zu überschreiben.
Info dazu: http://developer.android.com/reference/android/location/LocationListener.html

Dort kannst du versuchen die Satellitenanzahl abzufangen, etc.

Edit2:
Was mich jetzt gerade wundert ist, dass er diese Methode aufrufen sollte, wenn er keine Position mehr findet. Dann sollte er aber auch keine mehr an onLocationChanged senden!?!
Aber probieren geht über studieren ;)
 
Zuletzt bearbeitet:

Ähnliche Themen

D
  • Data2006
3 4 5
Antworten
84
Aufrufe
3.706
jogimuc
J
5
Antworten
0
Aufrufe
1.150
586920
5
R
Antworten
6
Aufrufe
1.016
swa00
swa00
Zurück
Oben Unten