2013-01-21 29 views
0

我有一个正在由自定义cursoradapter填充的广告列表。我想根据商店位置与用户的距离来对列表进行排序。对从数据库检索到的计算数据进行列表视图排序

我在执行此操作时遇到了一些麻烦。目前,我把商店位置存储在数据库中作为经度和纬度,我拿出来做一些计算来计算距离。我目前只是在列表视图中输出每行中每个商店的距离,但是我希望列表视图按距离排序,并且首先显示较近的广告。我真的不知道该怎么做。

我想过重新查询数据库,但是我不确定我是否可以将计算出的距离与存储在某个商店中的纬度/长度域进行比较。

回答

1

首先我们需要用当前用户位置和目标坐标使用Haversine公式计算距离,然后我们需要将计算出的距离存储在数据库中。最后我们可以按照距离以升序查询数据库。

+0

嘿,谢谢你的回答。我已经使用Haversine公式来计算距离。你有什么建议,我们将如何存储计算出的距离?我知道要做到这一点的代码,但我的意思是它会进入一个专门用于距离的新数据库或一个现有的数据库。我目前有商店(有拉特和长),也广告,因为一个商店可以有多个广告。再次感谢。 – user1804590

+0

感谢您的回答。我现在已经做到了,所以它存储了到广告数据库的距离,并且完美地工作。 – user1804590

相关问题