「pois」というテーブルがあります。電話の GPS 位置に最も近いすべての位置を 500 m 以内で表示する SQL クエリを実行したいのですが、MySQL コードをどこかにコピーして SQLLite に使用しましたが、動作しません。おそらく誰でも実行できますクエリを SQLLite クエリ バージョンに変換するのを手伝ってください。
コードは次のとおりです。
Sub GPS_LocationChanged (Location1 As Location)
Loc1 = Location1.Latitude
Loc2 = Location1.Longitude
Dim Cursor As Cursor
Qry = "Select place_id,place_name,lat,lon,poi_catid, ( 6371 * acos( cos( radians( " & Loc1 & " ) ) * cos( radians( lat ) ) * cos( radians( lon ) - radians( " & Loc2 & ") ) + sin( radians( " & Loc1 & " ) ) * sin( radians( lat ) ) ) ) as distance FROM pois HAVING distance < 0.5 ORDER BY distance"
Cursor = SQL1.ExecQuery(Qry)
For i = 0 To 15
Cursor.Position = i
ToastMessageShow(Cursor.GetString("place_name"),True)
Next
Cursor.Close
End Sub
エラーメッセージは次のとおりです。
android.database.sqlite.SQLiteException: そのような関数はありません: acos (コード 1):