Ich habe versucht, Kompass in meiner App zu implementieren und habe diesen Code als Beispiel verwendet: http://www.techrepublic.com/article/pro-tip-create-your-own-magnetic-compass-using-androids-internal-sensors/. Ich habe mich jedoch auch gefragt, ob es eine Möglichkeit gibt, die Google Analytics-API oder eine andere vorhandene API zu verwenden. Ich habe Google gesucht, aber nichts gefunden. Vielen Dank.Wie erhält man die Telefonausrichtung von Google Maps API?
Antwort
Einfache Ausrichtungsprüfung (Hoch- und Querformat) reicht nicht aus. Sie müssen die Drehung des Bildschirms von seiner "natürlichen" Ausrichtung aus überprüfen und die Berechnung des Kompasskurses entsprechend anpassen.
((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getRotation()
Aus Ihrer Frage, es war nicht ganz klar, ob man einen Kompass Ansicht irgendeine Art zu implementieren versuchen, oder einfach nur die allgemeinen Daten über die Ausrichtung am Telefon .
Entsprechend der Android docs gibt es einen TYPE_MAGNETIC_FIELD
Wert, der verwendet werden kann, um magnetische Werte zu bestimmen. Wenn Sie auf dieser Seite nach unten blättern, sehen Sie auch andere nützliche Variablen zur Orientierung, einschließlich der veralteten Version TYPE_ORIENTATION
. Die neue Art und Weise Orientierung zu handhaben ist
float[] getOrientation (float[] R,
float[] values)
Und für den Fall haben Sie es oben nicht gefunden, wird die Funktion für Magnetfeld verwenden
GeomagneticField (float gdLatitudeDeg,
float gdLongitudeDeg,
float altitudeMeters,
long timeMillis)
ist und die Dokumentation kann here finden. Sie können am Ende gehen Sie das Kaninchen Loch von Quaternionen gehen, wenn Sie hyper-genaue und nützliche totale Koppelnavigation und Orientierung Daten wollen. Wenn Sie diesen Weg gehen, empfehle ich die Dokumente aus der Unity Game Engine, wie sie einen guten Job machen, die Konsequenzen und die Bedeutung von Quaternionen zu erklären, ohne notwendigerweise den ganzen Weg in die Mathematik zu tauchen.
- 1. Wie zeigt man die Telefonausrichtung in Google Maps?
- 2. Wie erhält man die Gesamtdistanz mit Google Maps API V3?
- 3. Wie erhält man die Geschäftsbeschreibung über Google Places API?
- 4. Wie man google maps api erhält, um von android.app.Fragment anstelle von Fragment Activity zu erweitern
- 5. Wie erhält man die Gesamtdistanz mit Google Distance Matrix API?
- 6. Wie lande ich von google maps api?
- 7. Wie ändert man die Kreisfarbe in Google Maps API dynamisch?
- 8. Android Google maps api vs JavaScript Google maps api
- 9. Google Maps API directionsService.route unterscheidet sich von Google Maps Wegbeschreibung
- 10. Google Maps API DeletedApiProjectMapError
- 11. JavaScript- Google Maps API
- 12. Google Maps API asynchron
- 13. Google Maps Api - Departure_time
- 14. Google Maps API ändern?
- 15. Google Maps-API-Fehler: Google Maps API-Fehler: RefererNotAllowedMapError
- 16. Google Maps API Schlüsselalarm
- 17. Google Maps API Bild
- 18. Google My Maps - API
- 19. Google Maps API-Geokodierung
- 20. Google Maps API v3 Gemeindegrenze
- 21. Google Maps Web API
- 22. Google Maps API setLabelColor
- 23. Google Maps Entfernungsmatrix API-Header
- 24. Wie alternative Route mit Google Maps api Maps JavaScript API
- 25. Google Maps API Postleitzahlgrenzen
- 26. Google Maps Distance Matrix Sprachspezifikation für Google Maps JavaScript API
- 27. Google Maps API - Standard-Cursortyp
- 28. Google Maps API RefererNotAllowedError
- 29. Google Maps API - Standortfinder
- 30. Google Maps API-Basisbeispiel
Ich brauche Daten über die Ausrichtung des Telefons. Ich habe bereits einen Magnetfeldsensor implementiert, aber noch keine Filter implementiert, daher habe ich mich gefragt, ob es bereits eine API gibt, die mit allem ausgestattet ist, um einen Kompass mit hoher Präzision zu implementieren, ohne alles selbst zu schreiben. – leonz
Es gibt keine API, von der ich weiß, dass solche Anwendungsfälle für Sie erledigt werden. Wenn Sie die Überschrift beibehalten möchten, unabhängig davon, wie der Benutzer die Geräteausrichtung ändert, müssen Sie speziell nach der Rotation suchen und die Berechnung selbst anwenden, wie ich in meiner Antwort angegeben habe. –