【发布时间】:2019-10-06 19:54:26
【问题描述】:
我正在尝试获取从过去的startposition/location 到移动的现在currentposition/location 的距离(以米为单位)。
我确实有 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 来测量
以米为单位的距离。
【问题讨论】:
标签: java currentlocation geographic-distance