使用Geocoder gem通过IP搜索位置无法正常使用rails 4

我在我的rails应用程序中添加了geocoder gem,但是当我通过IP搜索位置时它没有正确响应。

问题是它返回的是nil数组。

 Geocoding API's response was not valid JSON. [] 

但有时候它有效,我不知道为什么。

我做了什么:

的Gemfile

 gem 'geocoder' 

初始化/ geocoder.rb

 Geocoder.configure( :timeout => 20, :lookup => :google, #:ip_lookup => :google, #:api_key => "xxxx-xxx", :units => :km ) 

application_controller.rb

 def current_location if Rails.env.development? geo_data = Geocoder.search('50.131.44.114') else geo_data = Geocoder.search(request.remote_ip) end [geo_data[0].city, geo_data[0].country_code ].compact.join(', ') end 

得到了相同的错误使用这个“Geocoder.configure(ip_lookup :: telize)”它解决了这个问题。 来源 – https://github.com/alexreisner/geocoder/issues/770