如何始终获得最新的当前坐标

时间:2017-05-01 10:37:13

标签: android google-maps distance

我正在尝试计算当前位置与三个标记之间的距离。 一切都很好,但如果我改变我的位置,距离等于之前的距离,我不会得到新的坐标。这是我的代码:

mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
   LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
   Location current = locationManager.getLastKnownLocation(locationManager.getBestProvider(criteria, true));
   latng = String.valueOf(current.getLatitude());
   lngon = String.valueOf(current.getLongitude());
   Location club = new Location("clubloc");
   club.setLatitude(Double.parseDouble(marker_data.get("lat")));
   club.setLongitude(Double.parseDouble(marker_data.get("lng")));
   double distance = current.distanceTo(club);
   distance = distance / 1000;
   distance = Math.round(distance * 100);
   distance = distance / 100;
   TextView dis = (TextView) findViewById(R.id.distance);
   dis.setText(String.valueOf(distance) + "KM");
  }

所以我的问题是如何更新坐标以便我总能找到合适的距离?

1 个答案:

答案 0 :(得分:0)

您始终获取用户的最后已知位置(使用getLastKnownLocation)。您没有主动询问位置更新。您可以阅读有关此here的更多信息。