我想获得经度和格度。我在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。使用我的函数正确获得经度和纬度的正确方法是什么?
答案 0 :(得分:1)
在onCreate中,它给了我像DE [R @ F
这样奇怪的字符
您正在打印double[]
。
使用我的函数正确获取经度和纬度的正确方法是什么?
分别访问数组的两个元素。
总是返回0,0
getLastKnownLocation()
通常会返回null
。仅将getLastKnownLocation()
用作优化。使用requestLocationUpdates()
请求设备尝试找到设备。