位置和GeoPoint distanceTo()

时间:2012-11-02 15:15:08

标签: java android google-maps location geopoints

我有用户的位置(班级位置)。和GeoPoints列表。这是计算距离的一些功能吗?或者写自己的功能它是唯一的解决方案?

3 个答案:

答案 0 :(得分:1)

这是一个简单的数学方程式。见Euclidean Distance

确保您的单位有意义。如果没有库函数来执行此操作,则编码完全无关紧要。

答案 1 :(得分:1)

Openmap是一个用地图构建应用程序的库。它具有两点之间的距离和方位角计算的类和方法。见课程Geo

如果库太大,您可以从svn下载源代码并仅复制Geo类及其依赖项。

答案 2 :(得分:1)

我认为最简单的方法是使用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