在 android(java) 中,当您使用函数 getlatitude() 等获取当前纬度和经度时,您将获得十进制格式的坐标:
latitude: 24.3454523 longitude: 10.123450
我想把它转换成度数和小数分钟,看起来像这样:
Latitude: 40°42′51″ N Longitude: 74°00′21″ W
最佳答案
要从小数转换为度数,您可以按照以下方式进行
String strLongitude = Location.convert(location.getLongitude(), Location.FORMAT_DEGREES);
String strLatitude = Location.convert(location.getLatitude(), Location.FORMAT_DEGREES);
引用是 android developer site .
编辑
我尝试了以下事情并获得了输出:
strLongitude = Location.convert(location.getLongitude(), Location.FORMAT_DEGREES);
strLatitude = Location.convert(location.getLatitude(), Location.FORMAT_DEGREES);
OUTPUT : Long: 73.16584: Lat: 22.29924
strLongitude = Location.convert(location.getLongitude(), Location.FORMAT_SECONDS);
strLatitude = Location.convert(location.getLatitude(), Location.FORMAT_SECONDS);
OUTPUT : Long: 73:9:57.03876: Lat: 22:17:57.26472
strLongitude = Location.convert(location.getLongitude(), Location.FORMAT_MINUTES);
strLatitude = Location.convert(location.getLatitude(), Location.FORMAT_MINUTES);
OUTPUT : Long: 73:9.95065: Lat: 22:17.95441
根据您的要求尝试不同的选项
https://stackoverflow.com/questions/21382230/