android 求一个简单的使用GPS获取经纬度的代码

使用机器上的GPS获取经纬度。求代码
2025-01-08 14:19:27
推荐回答(3个)
回答1:

  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 lp = locationManager.getAllProviders();
  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)";
  }

回答2:

locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
location = locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);


回答3:

你用的什么地图获取经纬度呢,用google,百度还是高德啊~?