簡體   English   中英

TypeError:沒有使用geokit-rails搜索將Symbol隱式轉換為Integer

[英]TypeError: no implicit conversion of Symbol into Integer for search with geokit-rails

我已經在geocoder中安裝了geokit-rails gem,並使用正確的API密鑰和設置正確加載了我的配置。 我已經正確構造了ActiveRecord對象,該對象已使用浮點值對latlng列進行了編碼。 現在,我試圖簡單地搜索距給定起點100公里以內的場所(Venue activerecord):

Venue.within(100, origin: Geokit::LatLng.new(-27.12,124.2141))

但是我一直收到錯誤:

TypeError: no implicit conversion of Symbol into Integer
    from /usr/local/lib/ruby/gems/2.1.0/gems/geocoder-1.2.3/lib/geocoder/sql.rb:14:in `[]'
    from /usr/local/lib/ruby/gems/2.1.0/gems/geocoder-1.2.3/lib/geocoder/sql.rb:14:in `full_distance'
    from /usr/local/lib/ruby/gems/2.1.0/gems/geocoder-1.2.3/lib/geocoder/stores/active_record.rb:157:in `distance_sql'
    from /usr/local/lib/ruby/gems/2.1.0/gems/geokit-rails-2.0.1/lib/geokit-rails/acts_as_mappable.rb:228:in `distance_conditions'
    from /usr/local/lib/ruby/gems/2.1.0/gems/geokit-rails-2.0.1/lib/geokit-rails/acts_as_mappable.rb:108:in `within'
    from (irb):46
    from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.0/lib/rails/commands/console.rb:90:in `start'
    from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.0/lib/rails/commands/console.rb:9:in `start'
    from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.0/lib/rails/commands/commands_tasks.rb:69:in `console'
    from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.0/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
    from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.0/lib/rails/commands.rb:17:in `<top (required)>'
    from bin/rails:4:in `require'
    from bin/rails:4:in `<main>'

有人幫忙嗎?

您可以通過docs直接在Lat&Long的方法內使用Geokit。 Fe :: :origin => [37.792,-122.393]. 在您的情況下, Venue.within(100, origin: [-27.12,124.2141])

為什么要為此使用Geokit :: LatLng.new?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM