Android - 使用此GPS追踪器功能的正确方法是什么?

时间:2017-08-06 16:19:31

标签: java android

我想获得经度和格度。我在MainActivity中有这个功能

private double[] getGPS() {
    LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    List<String> providers = lm.getProviders(true);

Location l = null;

for (int i=providers.size()-1; i>=0; i--) {
    l = lm.getLastKnownLocation(providers.get(i));
    if (l != null) break;
}

double[] gps = new double[2];
if (l != null) {
    gps[0] = l.getLatitude();
    gps[1] = l.getLongitude();

}
return gps;
}

然而,当我使用它时

Toast.makeText(this, "" + getGPS() + "", Toast.LENGTH_SHORT).show();

在onCreate中,它给了我像DE [R @ F。使用我的函数正确获得经度和纬度的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

  

在onCreate中,它给了我像DE [R @ F

这样奇怪的字符

您正在打印double[]

的对象标识符
  

使用我的函数正确获取经度和纬度的正确方法是什么?

分别访问数组的两个元素。

  

总是返回0,0

getLastKnownLocation()通常会返回null。仅将getLastKnownLocation() 用作优化。使用requestLocationUpdates()请求设备尝试找到设备。