→ nobody1:where 條件可以代入距離平方公式 取完limit再order by 11/24 00:39
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.35.107.99
資料庫方面我好像有看到人有用SQLite指令動態算距離,
然後再Order By,
但是感覺效能上也會有問題,
有查到iPhone的解法,
這點讓我感到很奇怪,
iPhone上的SQLite允許開發者自訂Function,
所以就有開發者寫出算距離的Function,
讓開發者可以直接在SQL指令上用,
可是Android的SQLite居然不允許CreateFunction,
所以只好另尋他法,
最後在StackOverflow有找到一個算是比較好的解法,
首先,
取得使用者位置資訊後,
自己先取一個距離,
例如500m內,
就把使用者的經緯度自己加500m,
然後下SQL指令,
select * from points where lat between ? and ? and lon between ? and ?
這感覺是目前最好的解法了,
可是這需求這麼常見,
很多App也有這功能,
真的很想知道其他App是如何實作的,
希望有大大釋疑!
--