2015-05-08 22 views
1

在我的應用程序中,我有一個Google地圖和GPS活動,以便在我行走時獲取我的位置。 該應用程序運行良好,因爲我走地圖將顯示什麼是接近最小(標記) 我的問題: 知道SqlLite不支持距離計算點的數學函數,必須查找所有條目,並進行計算但是,我的代碼中的一種方法,保存在記憶中,然而,失去了所有銀行的記錄並分析每個記錄的表現。 的我能做些什麼來提高應用程序性能的任何建議,考慮到60,000銀行協調登記Google地圖和SqlLite的性能

+0

您必須對'AsyncTask'進行計算並將結果與​​座標一起保存到db中。 – Anyonymous2324

回答

0

正如你所說,SQLite不提供GIS功能,但SpatiaLite確實並沒有在Android工作的SpatiaLite端口。

我認爲最好的辦法是將你的座標存儲在SpatiaLite表(幾何類型將爲點)和使用空間的功能(在你的情況ST_Distance)查詢數據庫:

SELECT * FROM YOUR_TABLE WHERE ST_Distance(ST_GeomFromText('POINT(4 1)', 4326), Geometry) < 10; 

我已經使用SpatiaLite在Android上的幾個項目,我可以說,性能是偉大的。

+0

謝謝安東尼奧,我會研究這個工具,我相信這是 –

+0

@佩德羅奧塔維奧岡薩雷斯Maitan的方式,歡迎您。祝你的項目好運! – antonio