0
私はgeocoderを使用しています。 私は近くの場所に行きたいですが、空の配列を返しています。ジオコーダを使用している近くの空の配列
"id": 5,
"name": "sogra2",
"lat": "-22.833575",
"long": "-43.312882",
これは近くcoordenates
def near
@near = Test.near([-22.844279, -43.306174], 100, :units => :km)
render json: @near
end
この
を使用して自分の行動で私のモデルである: は、データベースでこれを手に入れたclass Test < ApplicationRecord
reverse_geocoded_by :lat, :long
end
クエリ
SELECT tests.*, (111.19492664455873 * ABS(tests.lat - -22.844279) *
0.7071067811865475) + (96.29763124613503 * ABS(tests.long - -43.306174) * 0.7071067811865475) AS distance, CASE WHEN (tests.lat >= -22.844279 AND tests.long >= -43.306174) THEN 45.0 WHEN (tests.lat < -22.844279 AND tests.long >= -43.306174) THEN 135.0 WHEN (tests.lat < -22.844279 AND tests.long < -43.306174) THEN 225.0 WHEN (tests.lat >= -22.844279 AND tests.long < -43.306174) THEN 315.0 END AS bearing FROM "tests" WHERE (tests.lat BETWEEN -23.74360060591873 AND
-21.94495739408127 AND tests.long BETWEEN -44.282039151718706 AND -42.33030884828129) ORDER BY distance ASC
を投稿します
それは[]
のRails 5.1のAPIモードに
上記のSQLを実行するとどうなりますか? (つまり、ルビーバージョンではなく、データベース内のバージョン) –
@TarynEast私はSQLiteを使用しています...どうすればテストできますか? –
ダンノー - 私はポストグルを使っています...確かにそれはあなたがグーグルにできるものです:) –