使用Cursor和distanceTo()方法在Android中查找2点之间的距离

时间:2010-03-29 20:07:33

标签: java android sqlite cursor

我正在尝试计算存储在SQLite数据库中的第一个GPS点与存储的最后一个GP点之间的距离。

到目前为止,我的代码是:

private double Distance() 
{

SQLiteDatabase db1 = waypoints.getWritableDatabase();
Cursor cursor = db1.query(TABLE_NAME, FROM, null, null, null, null,ORDER_BY);
Cursor cursor1 = db1.query(TABLE_NAME, FROM, null, null, null, null,ORDER_BY);
Double lat = cursor.getDouble(2);
Double lon = cursor.getDouble(1);
cursor.moveToFirst();
cursor.moveToLast();
cursor.close();
distance = cursor.distanceTo(cursor1);

}

我意识到我需要返回一个值,但我收到的错误是distanceTo方法:

  

“方法distanceTo(Cursor)未定义类型Cursor

1 个答案:

答案 0 :(得分:3)

正如错误消息所示,方法distanceTo()在类型Cursor上不存在:https://developer.android.com/reference/android/database/Cursor.html

方法类可以使用方法distanceTo(Location)
https://developer.android.com/reference/android/location/Location.html

在尝试拨打distanceTo()之前,您需要在数据库中根据经度/纬度值创建位置对象。