这句话是扔的IllegalArgumentException
。我仍然无法弄清楚这种格式有什么问题,[+-]DDD:MM.MMMMM
如文档所述。
double latitude = Location.convert("-19:59.646");
看起来 Location.convert(String coordinate) 的 Android 平台代码不允许大于 59 的分钟十进制值:
尝试使用位置 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" );