【发布时间】:2012-11-02 15:15:07
【问题描述】:
我有用户的位置(位置类)。和地理点列表。计算距离有什么功能吗?还是编写自己的函数是唯一的解决方案?
【问题讨论】:
标签: java android google-maps location geopoints
我有用户的位置(位置类)。和地理点列表。计算距离有什么功能吗?还是编写自己的函数是唯一的解决方案?
【问题讨论】:
标签: java android google-maps location geopoints
我相信最简单的方法是使用 Android Location 类中的 distanceBetween 函数。
Location userLocation = new Location();
GeoPoint geoPoint = new GeoPoint();
float[] results = new float[3];
Location.distanceBetween(userLocation.getLatitude(), userLocation.getLongitude(), (geoPoint.getLatitudeE6()/1E6), (geoPoint.getLongitudeE6()/1E6), results);
//result[0] = distance in m
【讨论】:
这是一个简单的数学方程式。见Euclidean Distance
确保您的单位有意义。如果没有库函数来执行此操作,则编码完全是微不足道的。
【讨论】: