Я пытаюсь получить расстояние в метрах от прошлого startposition
/ местоположения до движущегося настоящего currentposition
/ местоположения.
У меня есть currentposition
, который прекрасно работает. Но я не могу получить startposition
, который должен быть исправлен и сохранен, пока я запускаю приложение с кнопкой запуска.
На самом деле, это то же самое LatLng
для startposition
/ location и currentposition
/ location.
Я пытался установить маркер в начале. Но я не знаю, как можно использовать его вместо startposition
для измерения расстояния.
mLocationCallback = new LocationCallback() {
@Override
public void onLocationResult(LocationResult locationResult) {
super.onLocationResult(locationResult);
if (flag == 1) {
mGoogleMap.moveCamera(CameraUpdateFactory.newLatLng(
new LatLng(locationResult.getLastLocation().
getLatitude()
, locationResult.getLastLocation().
getLongitude())));
mGoogleMap.moveCamera(CameraUpdateFactory.
newLatLngZoom(new LatLng(locationResult.
getLastLocation().getLatitude()
, locationResult.getLastLocation().
getLongitude()), 19));
mGpsCurrentPosition = new LatLng(locationResult.
getLastLocation().getLatitude()
, locationResult.getLastLocation().
getLongitude());
mGpsStartPosition = new LatLng(locationResult.
getLastLocation().getLatitude()
, locationResult.getLastLocation().
getLongitude());
}
updateGps();
}
private void getLaufDistanz() {
Location laufStartPunkt = new Location("Start");
laufStartPunkt.setLatitude(mGpsStartPosition.latitude);
laufStartPunkt.setLongitude(mGpsCurrentPosition.longitude);
Location laufEndPunkt = new Location("Ende");
laufEndPunkt.setLatitude(mGpsCurrentPosition.latitude);
laufEndPunkt.setLongitude(mGpsCurrentPosition.longitude);
float laufDistanzInMeter = laufStartPunkt.distanceTo
(laufEndPunkt)/1000;
mTvMinProKm.setText("" + String.valueOf(laufDistanzInMeter));
}
Мне нужен способ установить startposition
с помощью LatLng
для измерения расстояния в метрах.