1

我正在开发一个应用程序,我需要计算与当前位置和其他一些位置的距离。我正在使用 GPS 访问用户当前位置,其他位置坐标存储在数据库中。问题出现在以下代码段中:

@Override
public void onLocationChanged(Location arg0) {
    Log.v("LOCATION LAT", String.valueOf(arg0.getLatitude()));
    currentLocation = arg0; //currentLocation is a global class variable
}

问题是当我向 DDMS 提供坐标时,例如: Latitude: 62.639579 Longitude: 17.909689 并记录这些值我得到 Latitude: 62.0 和 Longitude 17.0 。

如果我创建一个位置对象并自己设置 lat 和 lng 值,它就可以工作。像这样:

@Override
public void onLocationChanged(Location arg0) {
    Location current = new Location("Current location");
    current.setLatitude(62.639579);
    current.setLongitude(17.909689);
    Log.v("Current LAT", "" + current.getLatitude());
}

编辑解决:
发现问题。我给 DDMS 提供了错误的格式。显然这应该用逗号分隔,而不是点...

4

3 回答 3

0

您是否使用了本文中指定的权限?否则,它会重新使用蜂窝塔三角测量。 其他问题

于 2012-02-29T08:35:32.687 回答
0

发现了问题。我给 DDMS 提供了错误的格式。显然坐标应该用逗号分隔,而不是点...

于 2012-09-14T18:29:42.717 回答
-1

您可以执行如下操作。创建一个位置变量,您必须分配位置更改变量

@Override
public void onLocationChanged(Location arg0) {
    Location current = new Location("Current location");
    current=arg0;
    Log.v("Current LAT", "" + current.getLatitude());
}
于 2012-02-29T08:34:37.337 回答