如何使用定位工具获取android中移动设备的当前纬度和经度?
最佳答案
使用 LocationManager
。
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double longitude = location.getLongitude();
double latitude = location.getLatitude();
对
getLastKnownLocation()
的调用不会被阻止-这意味着如果当前没有位置可用,它将返回null
-因此您可能想看看将 LocationListener
传递给 requestLocationUpdates()
method,这将为您提供位置的异步更新。private final LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
longitude = location.getLongitude();
latitude = location.getLatitude();
}
}
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, locationListener);
如果要使用GPS,则需要为应用程序提供
ACCESS_FINE_LOCATION
permission。<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
您可能还想在GPS不可用时添加
ACCESS_COARSE_LOCATION
permission,并使用 getBestProvider()
method选择您的位置提供商。关于java - 如何在Android中获取移动设备的经度和纬度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2227292/