2014-12-12 8 views
5
if Rails.env.development? 
     @current_location_geo = Geocoder.search(request.remote_ip).first 
    else 
     @current_location_geo = request.location 
    end 
    if [email protected]_location_geo.nil? && @current_location_geo.ip == "127.0.0.1" 
     @departure_currency_code= "AUD" 
     @departure_currency_name= ["Australian Dollar(AUD $)","AUD"] 
    else 
     @country = Country.new(request.location.data["country_code"].to_s) 
     @country_code = @country.currency.code 
    end 
end 

ich erhalte request.location null. Ich habe versucht, Timeout in der Konfiguration hinzuzufügen, aber es half mir nicht.Die Antwort der Geokodierungs-API war kein gültiger JSON. und request.location = null

Fehler in Produktionsmodus als "Geocoding-API-Antwort war nicht gültig JSON."

und als ich es verfolgt habe ich bekam request.location als Null.

meine Geocoder-Version ist (1.2.6).

Antwort

1

Es scheint, dass Sie gerade keine verfügbaren Aktionspunkte müssen ausgewählte geo-Dienste zuzugreifen. Für mich war es zu wenig verfügbare Anfragen an Google Geodienste. Ich habe es gerade erhöht, indem ich mich auf Google Anwendung serivces registriere, und in den Config Google API-Schlüssel setze. Für Dienste, die Geo Position von IP bestimmen, wurde :telize empfohlen, da es derzeit keine Anforderungsquoten vom vorherigen Beantworter hat. Ich rate Ihnen auch, in die Seite des lokalen IP-Speichers zu schauen, um sie in die Geo-Position zu verschieben, wie :geoip2 und :maxmind_local. Also Ihr GEOCONFIG wird wie folgt dar:

config/initalizers/geocoder.rb:

Geocoder.configure(        
    lookup: :google,             
    ip_lookup: :geoip2,                
    maxmind_local: { 
    package: :city     
    },              
    geoip2: { 
    file: File.join('vendor/share', 'GeoLite2-City.mmdb') 
    },    
    google: {       
    timeout: 20, 
    use_https: true,                
    api_key: ENV['GOOGLE_API_KEY']             
    },  
} 

HINWEIS: Es scheint, dass :telize Dienst ist derzeit nicht richtig funktioniert, Rückkehr: Geocoding API's response was not valid JSON.

Bitte beziehen Sie sich auf alle Optionen zur Konfiguration von goe services unter geocoder's README.

+0

Excellent das hat mein Problem gelöst – SsouLlesS

Verwandte Themen