我想问一下是否有另一种方法可以在不使用地图的情况下占用用户位置。我只希望这个位置可以用它进行一些查询。是否有任何更聪明,更有效的方法来完成这项工作,包括地图活动在android?
答案 0 :(得分:1)
Android有两种确定用户位置的基本方法。第一种是使用自Android首次推出以来可用的内置位置API。并且有Google Play服务。
正如你所说,不使用地图:
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double longitude = location.getLongitude();
double latitude = location.getLatitude();
final LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
longitude = location.getLongitude();
latitude = location.getLatitude();
}
public void onProviderDisabled(String arg0) {
// TODO Auto-generated method stub
}
public void onProviderEnabled(String arg0) {
// TODO Auto-generated method stub
}
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
// TODO Auto-generated method stub
}
};
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, locationListener);
如果您想使用GPS,请不要忘记许可:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
查看此文档了解更多信息: https://developer.android.com/guide/topics/location/strategies.html