一种简单的获取经纬度的方法, 室内可能获取不到。需要打开GPS。
/**
* 获取用户地理位置,未获取到为默认显示 0.0#0.0
* 需要权限ACCESS_FINE_LOCATION,ACCESS_COARSE_LOCATION,INTERNET
*
* @param context
* @return 纬度#经度
*/
public static String getUserLocation(Context context) {
double latitude = 0.0, longitude = 0.0;
String locationProvider = null;
// 获取地理位置管理器
LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE );
// 判断网络是否可用
Boolean isNet = isConnectingToInternet(context);
Log. i(TAG, "isNet" + isNet);
if (isNet) {
locationProvider = LocationManager.NETWORK_PROVIDER ;
} else if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
// GPS室内会获取不到位置
locationProvider = LocationManager. GPS_PROVIDER;
} else {
locationProvider = LocationManager.PASSIVE_PROVIDER ;
Log. i(TAG, "无法获取当前位置, 请检查网络是否可用和GPS是否开启" );
}
// 获取Location
Location location = locationManager.getLastKnownLocation(locationProvider);
if (location != null) {
latitude = location.getLatitude();
longitude = location.getLongitude();
// 不为空,显示地理位置经纬度
Log. i(TAG, "纬度:" + latitude + "经度:" + longitude);
}
return latitude + "#" + longitude;
}