2017-12-02 5 views
1

Ich habe eine App in Android erstellt, die die GPS-Koordinaten des Benutzers und zeigt es in den Toast. Dies ist die Schlüsselzeile. Und natürlich in der Manifest-Berechtigung, ACCESS_FINE_LOCATION zu verwenden.Gibt es eine Möglichkeit, einen bestimmten GPS-Anbieter zu wählen?

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener); 

Als ich anders als meine, obwohl wir kaum einen Meter waren auseinander meine App auf meine Freunde mobil sein lat, lng Koordinaten wurden getestet. Ich berechnete dann die Entfernung zwischen seinem lat, lng und meinem lat, lng. Es kam um 330 Meter.

Später dachte ich an die Möglichkeit, dass seine GPS_PROVIDER (Satellit) anders war als sein kann und mir war anders als sein Handy als Mine nicht gleich ist.

Bin ich rechts entlang der Linie oben in das Denken?
Wenn ja, gibt es eine Möglichkeit im Android Studio, wo ich angeben kann, welcher GPS-Provider verwendet werden soll? Das nächste Mal, wenn ich meine App auf dem Handy meines Freundes teste, sind unsere Koordinaten von lat, lng gleich.

Antwort

1

Bin ich recht im Denken entlang der obigen Linie?

Nicht wirklich. Es gibt nur einen Satz GPS-Satelliten. Obwohl es ähnliche Systeme in verschiedenen Stadien der Fertigstellung gibt (z. B. EU-Galileo), greifen höchstwahrscheinlich beide Geräte auf dasselbe System zu.

Als ich meine App auf meinem Mobilfunktelefon ausprobierte, waren seine Koordinaten in ld, lng anders, obwohl wir kaum einen Meter voneinander entfernt waren.

Sicher. Verschiedene mobile Chipsätze haben unterschiedliche GPS-Empfänger. Die Gehäusekonstruktion könnte eine Rolle spielen, ebenso wie leichte bauliche Veränderungen zwischen den beiden Standorten. Und so weiter.

Gibt es irgendeinen Weg in Android Studio, wo ich angeben kann, welcher GPS-Anbieter verwendet werden soll?

No.

+0

„Case Konstruktion könnte einen Einfluss, wie es leichte Abweichungen in der Gebäudekonstruktion zwischen den beiden Standorten spielen“. Aber wir waren kaum einen Meter auseinander! – amitoz

+0

@amitoz: So? Zum Beispiel ist in einem Büroturmgebäude mit Stahlträgern das gesamte Gebäude kein einziger Block aus massivem Stahl. Es gibt nicht nur Plätze für Sie und Ihren Freund, sondern die Träger selbst sind voneinander beabstandet. Unter einem Träger zu liegen, kann zu anderen Ergebnissen führen, als wenn man sich nicht unter einem Träger befindet. Dies ist einer der Gründe, warum sich die Stärke des Zellsignals verändert, wenn Sie sich in einem Raum bewegen ... und Mobilfunkmasten sind Ihnen viel näher als GPS-Satelliten. – CommonsWare

Verwandte Themen