【问题标题】:iOS sqlite no such function: ACOS error [duplicate]iOS sqlite没有这样的功能:ACOS错误[重复]
【发布时间】:2012-08-25 17:38:36
【问题描述】:

可能重复:
Query to get records based on Radius in SQLite?

我正在使用 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/…

标签: ios sqlite


【解决方案1】:

看起来这不是标准 SQLite 的一部分:Query to get records based on Radius in SQLite?

之前检查 SO :-)

【讨论】:

  • 实际上这个问题是指Android,在iOS 上有更多可用选项,您不必创建额外的列。您可以像 daveaddey.com/?p=71 这样添加自定义函数,这很容易做到,并且适用于您现有的结构。
猜你喜欢
  • 2016-11-18
  • 1970-01-01
  • 2010-10-30
  • 1970-01-01
  • 2015-02-25
  • 2017-05-09
  • 2018-09-05
  • 2017-02-09
  • 2010-12-29
相关资源
最近更新 更多