Lege array in de buurt via geocoder

stemmen
0

Ik gebruik geocoder . Ik wil krijgen in de buurt locaties, maar het is het terugsturen van een lege array.

Ik heb dit in de database:

id: 5,
name: sogra2,
lat: -22.833575,
long: -43.312882,

Dit is mijn actie de nabije coordenates

def near
  @near = Test.near([-22.844279, -43.306174], 100, :units => :km)
  render json: @near
end

Dit is mijn model:

class Test < ApplicationRecord
  reverse_geocoded_by :lat, :long
end

Het plaatsen van de Query

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

Het is terug te keren []

Rails 5.1 API-modus

De vraag is gesteld op 14/12/2017 om 16:57
bron van user
In andere talen...                            


1 antwoorden

stemmen
0

heb je rails> 4.1 gebruiken?

Opmerking on Rails 4.1 en Greater

Als gevolg van een verandering in ActiveRecord's telmethode u moet gebruiken count(:all)om expliciet te tellen alle kolommen ("*")bij gebruik van een in de buurt van scope. Met behulp van de buurt en bellen telling met geen argument zullen uitzonderingen in veel gevallen veroorzaken.

antwoordde op 15/12/2017 om 08:03
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more