1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

GPS fix erstellen - Satelliten Anzeige

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von MBPower, 13.04.2010.

  1. MBPower, 13.04.2010 #1
    MBPower

    MBPower Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    149
    Erhaltene Danke:
    9
    Registriert seit:
    26.02.2010
    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: 13.04.2010
  2. MBPower, 16.04.2010 #2
    MBPower

    MBPower Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    149
    Erhaltene Danke:
    9
    Registriert seit:
    26.02.2010
    Kann mir dabei keiner helfen?
     
  3. MBPower, 20.04.2010 #3
    MBPower

    MBPower Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    149
    Erhaltene Danke:
    9
    Registriert seit:
    26.02.2010
    Ü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.
     
  4. FelixL, 20.04.2010 #4
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    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: 20.04.2010

Diese Seite empfehlen