この文は投げてIllegalArgumentException
います。[+-]DDD:MM.MMMMM
ドキュメントにあるように、私はまだこのフォーマットの何が悪いのか理解できません。
double latitude = Location.convert("-19:59.646");
Location.convert(String 座標) の Android プラットフォーム コードでは、59 を超える分の 10 進数値を許可していないようです。
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 で動作することを確認しました。
おそらくその形式に正確に一致させる必要があるため、ゼロで埋めてください。
double latitude = Location.convert( "-019:59.64600" );