android - 在Android中将位置转换为六十进制?

标签 android location

有没有办法从 Location 对象获取六十进制形式的坐标 (N 42° 30' 15.130'') ?

最佳答案

(未经测试)

  double lon = Double.parseDouble(latlon[0]); // contains lon string
  double lat = Double.parseDouble(latlon[1]);
  String ew = "";      String ns = "";

  if(lon < 0)
      ew = "W";
  else 
      ew = "E";

  if(lat < 0)
     ns = "S";
  else 
     ns = "N";

  String latitude, longitude;      
  int d = (int)lon;
  longitude = ew + " " + d + "°";       
  double mm = (lon - d) * 60;
  int m = (int)mm;
  String minutes = new Double(m).toString();  
  double ss = (mm - m)*60;
  String secs =  new Double(ss).toString();
  longitude += minutes + "'" + secs + "\"";

对纬度执行相同的操作。

关于android - 在Android中将位置转换为六十进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8209125/

相关文章:

java - 如何调整按钮数组中按钮的大小

php - 如何更改 Zend Studio 中的默认工作区位置?

android - 从类访问 LocationManager/LocationListener

调用 header 时出现 PHP AJAX 12017 错误(位置 :)

android - 是否可以在静态上下文 block 中获取资源?

android - 是否可以在 Android Wear 上显示 Google map View ?

java - 在 Android Studio 中找不到 JDBC 类

android - Windows 8.1 - ANDROID_HOME' 环境变量设置为 ionic 项目的不存在路径

发送模拟位置时 Android 模拟器重新启动

java - android location apis : FusedLocationApi. getLastLocation 给出 null