【发布时间】:2017-03-28 15:21:13
【问题描述】:
我想问一下是否有另一种方法可以在不使用地图的情况下获取用户位置。我只想要使用它进行一些查询的位置。有没有更智能和更有效的方法可以在不包括地图活动的情况下做到这一点在安卓中?
【问题讨论】:
标签: android userlocation
我想问一下是否有另一种方法可以在不使用地图的情况下获取用户位置。我只想要使用它进行一些查询的位置。有没有更智能和更有效的方法可以在不包括地图活动的情况下做到这一点在安卓中?
【问题讨论】:
标签: android userlocation
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
【讨论】: