2012-08-25 50 views
2

可能重複:
Query to get records based on Radius in SQLite?iOS版的SQLite沒有這樣的功能:ACOS錯誤

我使用的SQLite保存緯度,經度和視頻路徑在我的應用程序。通過在查詢中傳遞當前的緯度和經度作爲參數。我需要對鄰近的基於
的視頻路徑進行排序。我使用以下查詢來實現此選擇SELECT videopath(3959 * ACOS(COS(RADIANS(12.9833))* COS(RADIANS(lat))* COS(RADIANS(lng) - RADIANS(77.5833))+ SIN(RADIANS (12.9833))* SIN(RADIANS(lat))))AS距離VideoPathsTable ORDER BY distance ASC LIMIT 0,30。在sql這個查詢執行正常,但在sqlite中,我得到以下錯誤沒有這樣的功能:ACOS是否有任何其他替代方式來做到這一點。請幫我解決這個issue.I正在使用libsqlite3.0.dylib

+0

檢查有一個方法在iOS上運行,請參閱http://daveaddey.com/?p=71不需要添加新列。我會寫它作爲答案,但編輯錯誤地將此問題標記爲重複(請注意編輯器:您提到的問題http://stackoverflow.com/questions/3126830/query-to-get-records-based -on-radius-in-sqlite特定於Android「**我無法使用它運行自定義函數,因爲它在Android **上」,請不要複製此問題 - 我們可以在iOS上運行自定義函數)。 –

+0

我認爲你的問題是由stephencelis在這裏回答:http://stackoverflow.com/questions/30825513/creating-custom-sqlite-functions-in-swift-alone –

回答

0

看起來這不是非標準的SQLite的一部分:Query to get records based on Radius in SQLite?

在此之前:-)

+0

其實這個問題是指Android,iOS上有更多可用選項,您不必創建其他列。你可以添加一個像http://daveaddey.com/?p=71這樣的自定義函數,這很容易實現,並且可以與你現有的結構一起工作。 –