安卓根据情况获取GPS坐标(GPS或者网络)
公司做项目的代码,还费了点时间,做个笔记:
//GPS位置信息
private LocationManager mLocationManager = null;
private double latitude=0.0;
private double longitude =0.0;
/**
* 初始化GPS获取坐标
* @author Liusy
*/
private void initGPSPosition() {
mLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
//从GPS服务获取坐标
Location location = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(location != null){
latitude = location.getLatitude();
longitude = location.getLongitude();
} else {
// 从网络获取坐标,条件4 * 60 * 1000毫秒、0米
mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 4 * 60 * 1000, 10, mLocationListener);
location = mLocationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
if (location != null) {
latitude = location.getLatitude(); // 经度
longitude = location.getLongitude(); // 纬度
Log.i(TAG, "获取位置:经度:" + longitude + "-->" + "纬度:" + latitude);
}
}
}