我正在尝试获取从过去startposition
/位置到移动当前currentposition
/位置的距离(以米为单位)。
我确实有currentposition
哪个工作正常。但是当我使用开始按钮启动应用程序时,我无法得到startposition
应该修复和保存的内容。
其实/location 和/location 也是一样LatLng
的。startposition
currentposition
我试图在开始时设置一个标记。但我不知道如何使用它来代替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
米为单位的距离。