【发布时间】:2012-08-25 17:38:36
【问题描述】:
我正在使用 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 ) ) ) ) 从 VideoPathsTable 的距离按距离 ASC LIMIT 0、30 排序。在 sql 中,此查询执行良好,但在 sqlite 中,我收到以下错误 no such function: ACOS 是否有任何其他替代方法可以做到这一点。请帮我解决这个问题。我正在使用 libsqlite3.0.dylib
【问题讨论】:
-
有一种方法适用于iOS,见daveaddey.com/?p=71无需添加新列。我会将其写为答案,但编辑错误地将这个问题标记为重复(编辑注意:您提到的问题 stackoverflow.com/questions/3126830/… 是特定于 Android 的“我无法使用它运行自定义函数它在 Android 上”,请不要重复这个问题——我们可以在 iOS 上运行自定义函数)。
-
我认为 stephencelis 在这里回答了您的问题:stackoverflow.com/questions/30825513/…