我应该获取用户的当前位置,为此我实现了以下代码:
lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
ll = new mylocationlistener();
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
这是我的LocationListener类:
private class mylocationlistener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
if (location != null) {
Log.d("LOCATION CHANGED", location.getLatitude() + "");
Log.d("LOCATION CHANGED", location.getLongitude() + "");
lat = location.getLatitude();
lng = location.getLongitude();
Toast.makeText(NearActivity.this, "lng=" + lng + " lat=" + lat,
Toast.LENGTH_SHORT);
showProgress();
}
}
上面的代码没有设置变量lat和lng,它们是全局变量。为什么GPS无法提供坐标?
提前谢谢。
答案 0 :(得分:0)
Location是一个包含位置属性的类。它与GPS提供商不同。这是您从GPS提供商处获取当前位置的方法。
lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location lastKnownLoc = m.getLastKnownLocation(LocationManager.GPS_PROVIDER);
答案 1 :(得分:0)
您是否设置了权限?
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET"/>