private Context mContext;
private LocationManager locationManager;
public GPSTools(Context context) {
super();
mContext = context;
locationManager = (LocationManager) context
.getSystemService(Context.LOCATION_SERVICE);
}
/**
* 获取地址的经纬度
*
* @return 维度_经度
*/
public String getGpsAddress() {
// 返回所有已知的位置提供者的名称列表,包括未获准访问或调用活动目前已停用的。
List
for (String item : lp) {
MLog.i("8023", "可用位置服务:" + item);
}
Criteria criteria = new Criteria();
criteria.setCostAllowed(false);
// 设置位置服务免费
criteria.setAccuracy(Criteria.ACCURACY_COARSE); // 设置水平位置精度
// getBestProvider 只有允许访问调用活动的位置供应商将被返回
String providerName = locationManager.getBestProvider(criteria, true);
MLog.i("8023", "------位置服务:" + providerName);
if (providerName != null) {
Location location = locationManager
.getLastKnownLocation(providerName);
if (location != null)
return "纬度:" + location.getLatitude() + " 经度:"
+ location.getLongitude();
} else {
Toast.makeText(mContext, "1.请检查网络连接 \n2.请打开我的位置",
Toast.LENGTH_SHORT).show();
}
return "未能获取到当前位置,请检测以下设置:\n1.检查网络连接 \n2.打开我的位置(GPS)";
}
locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
location = locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
你用的什么地图获取经纬度呢,用google,百度还是高德啊~?