我无法确定如何获得2个非固定位置之间的距离。第一个位置是我当前的位置,第二个位置是步行100米后的最新当前位置。下面是一段代码。
/**
* Callback that fires when the location changes.
*/
@Override
public void onLocationChanged(Location location) {
mCurrentLocation = location;
updateUI();
}
/**
* Updates the latitude, the longitude, and the last location time in the UI.
*/
private void updateUI() {
latitude = mCurrentLocation.getLatitude();
longitude = mCurrentLocation.getLongitude();
mLatitudeTextView.setText(String.format("%s: %f", mLatitudeLabel,latitude));
mLongitudeTextView.setText(String.format("%s: %f", mLongitudeLabel, longitude));
}
所以下面我有我的mCurrentLocation但是如何获得newCurrentLocation所以我使用distanceTo方法。
double distance = mCurrentLocation.distanceTo(newCurrentLocation);
我们非常感谢任何建议。
答案 0 :(得分:1)
您必须将当前位置保存在临时变量中,如下所示:
public void onLocationChanged(Location location) {
Location temp = mCurrentLocation; //save the old location
mCurrentLocation = location; //get the new location
distance = mCurrentLocation.distanceTo(temp); //find the distance
updateUI();
}