/ / Android Location.convert wirft ungültige Argumentausnahme - Android, Standort

Android Location.convert wirft ungültige Argumentausnahme - Android, Standort

Dieser Satz wirft IllegalArgumentException. Ich kann immer noch nicht herausfinden, was mit diesem Format falsch ist [+-]DDD:MM.MMMMM wie Dokumentation sagt.

double latitude = Location.convert("-19:59.646");

Antworten:

1 für die Antwort № 1

Scheint, dass der Android-Plattformcode für Location.convert (String coordinate) keine winzigen Dezimalwerte größer als 59 zulässt:

https://github.com/android/platform_frameworks_base/blob/master/location/java/android/location/Location.java#L255

Verwenden Sie stattdessen das Format FORMAT_SECONDS oder FORMAT_DEGREES, wie in den Standort-API-Dokumenten angegeben:

http://developer.android.com/reference/android/location/Location.html

Zum Beispiel wäre Ihre Nummer in FORMAT_SECONDS (DDD: MM: SS.SSSSS) -19: 59: 38.76.

Also wäre der Code:

double latitude = Location.convert("-19:59:38.76");

Ich habe überprüft, dass dies unter Android mit dem FORMAT_SECONDS-Format funktioniert.


0 für die Antwort № 2

Sie müssen dieses Format wahrscheinlich genau abgleichen, also füllen Sie es mit Nullen auf.

double latitude = Location.convert( "-019:59.64600" );