Android - LocationManager 小数点后的数字

Posted

技术标签:

【中文标题】Android - LocationManager 小数点后的数字【英文标题】:Android - LocationManager digits after decimal 【发布时间】:2015-12-13 13:45:39 【问题描述】:

我有一个简短的问题,当我从 LocationManager 获取位置时,获得的坐标没有任何精度:

    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,2000,10, this);
@Override
public void onLocationChanged(Location location) 
    String msg = "New Latitude: "+location.getLatitude()+"New Longitude: "+location.getLongitude();
    Toast.makeText(getBaseContext(), msg, Toast.LENGTH_LONG).show();

结果是:

新纬度:19.0新经度:51.0

如何设置小数点后的位数?

【问题讨论】:

请看developer.android.com/reference/android/location/Location.html;有格式化纬度和经度的方法;然后尝试一下,让我们知道它是否有效。坐标以双精度形式返回,因此那里有足够的精度。只需使用正确的方法将数字转换为字符串即可。 尝试从Location也显示getProvider(),可能你没有从GPS获取数据。 【参考方案1】:

我在 Android 设备监视器中输入了错误的坐标。 当我输入 51.02 时,它会按照我的描述进行操作,但是当输入 51,02 时,一切正常。麻烦大家见谅。

【讨论】:

以上是关于Android - LocationManager 小数点后的数字的主要内容,如果未能解决你的问题,请参考以下文章

Android之LocationManager

Android - 使用 LocationManager 不会提供地理修复

Android:LocationManager 构造函数的循环器

当我得到 LocationManager 时发生异常。(Android)

Android开发之LocationManager和定位

[Android-Location]无法从LocationManager获取经纬度