2

この文は投げてIllegalArgumentExceptionいます。[+-]DDD:MM.MMMMMドキュメントにあるように、私はまだこのフォーマットの何が悪いのか理解できません。

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

4

2 に答える 2

1

Location.convert(String 座標) の Android プラットフォーム コードでは、59 を超える分の 10 進数値を許可していないようです。

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

Location API ドキュメントで指定されているように、代わりに FORMAT_SECONDS または FORMAT_DEGREES 形式を使用してみてください。

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

たとえば、FORMAT_SECONDS (DDD:MM:SS.SSSSS) の数値は -19:59:38.76 になります。

したがって、コードは次のようになります。

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

これが FORMAT_SECONDS 形式を使用して Android で動作することを確認しました。

于 2012-10-22T17:22:38.683 に答える
0

おそらくその形式に正確に一致させる必要があるため、ゼロで埋めてください。

double latitude = Location.convert( "-019:59.64600" );
于 2012-10-21T18:30:27.657 に答える