如何获取当前位置和下一个当前位置之间的距离
Posted
技术标签:
【中文标题】如何获取当前位置和下一个当前位置之间的距离【英文标题】:How to get distance between current location and the next current location 【发布时间】:2016-06-07 13:38:37 【问题描述】:我无法确定如何获取 2 个非固定位置之间的距离。第一个位置是我当前的位置,第二个是步行 100 米后的最新当前位置。下面是一个sn-p的代码。
/**
* 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);
任何建议将不胜感激。
【问题讨论】:
在覆盖 mCurrentLocation 之前保存旧位置。 您的意思是将旧位置保存到数据库中吗?如果是这样,我想尽可能避免这种情况。 【参考方案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();
【讨论】:
以上是关于如何获取当前位置和下一个当前位置之间的距离的主要内容,如果未能解决你的问题,请参考以下文章