Informationen zum formatieren von GPS-breiten-und Längengrad?
In android(java), wenn man den aktuellen breiten-und Längengrad mit der Funktion getlatitude() etc erhalten Sie die Koordinaten im Dezimalformat:
latitude: 24.3454523 Längengrad: 10.123450
Möchte ich, um diese in Grad und dezimal-Minuten Aussehen:
Breite: 40°42'51" N-Längengrad 74°00'21" W
- Überprüfen Sie in diesem stackoverflow.com/questions/8851816/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
zur Konvertierung von Dezimalzahlen in Grad, können Sie tun wie folgt
Referenz ist android-Entwickler-Website.
Bearbeiten
Habe ich versucht, folgende Sache, und erhalten die Ausgabe:
Probieren Sie verschiedene option wie pro Ihre Anforderung
Sollte einige math:
gleiche mit -122 (360 hinzufügen, wenn negativer Wert)
EDIT: werden Kann, gibt es einige API, die ich nicht kenne.
Beziehen Von:
Wie finden Grad aus der latitude-Wert in android?
Konvertieren Sie Längen-und Breitengrad-Werte (in Grad) zu Verdoppeln . Java
Als bereits erwähnt, gibt es einige string-Manipulationen erforderlich. Ich habe die folgende helper-Klasse, welche wandelt die Lage zu DMS-format und erlaubt die Angabe der Nachkommastellen für die Sekunden:
Verwenden Sie Diese
}
Hier ist eine Kotlin-version, angepasst von Martin Webers Antwort. Es setzt auch die richtige Hemisphäre; N, S, W oder E
Haben Sie eine Koordinate in dezimal-Grad, diese Darstellung ist als "DEG"
Und Sie wollen eine GRAD auf DMS (Grad, Minuten, Sekunden) (e.g 40°42'51" N) ,
die Konvertierung.
Dieser java-code-Implementierung in http://en.wikipedia.org/wiki/Geographic_coordinate_conversion
wenn die DEG Koordinaten-Werte < 0, es ist der Westen für die Länge oder Richtung Süden für latitude.