2013-01-21 71 views
0

我有一個正在由自定義cursoradapter填充的廣告列表。我想根據商店位置與用戶的距離來對列表進行排序。對從數據庫檢索到的計算數據進行列表視圖排序

我在執行此操作時遇到了一些麻煩。目前,我把商店位置存儲在數據庫中作爲經度和緯度,我拿出來做一些計算來計算距離。我目前只是在列表視圖中輸出每行中每個商店的距離,但是我希望列表視圖按距離排序,並且首先顯示較近的廣告。我真的不知道該怎麼做。

我想過重新查詢數據庫,但是我不確定我是否可以將計算出的距離與存儲在某個商店中的緯度/長度域進行比較。

回答

1

首先我們需要用當前用戶位置和目標座標使用Haversine公式計算距離,然後我們需要將計算出的距離存儲在數據庫中。最後我們可以按照距離以升序查詢數據庫。

+0

嘿,謝謝你的回答。我已經使用Haversine公式來計算距離。你有什麼建議,我們將如何存儲計算出的距離?我知道要做到這一點的代碼,但我的意思是它會進入一個專門用於距離的新數據庫或一個現有的數據庫。我目前有商店(有拉特和長),也廣告,因爲一個商店可以有多個廣告。再次感謝。 – user1804590

+0

感謝您的回答。我現在已經做到了,所以它存儲了到廣告數據庫的距離,並且完美地工作。 – user1804590

相關問題