/ / ¿La gema Geocoder funciona con la clave API de Google? - ruby-on-rails, ruby-on-rails-3, geocodificación, rails-geocoder

¿Geocoder gem funciona con la clave de Google API? - Ruby-on-Rails, Ruby-on-Rails-3, geocodificación, rails-geocoder

Estoy usando ruby ​​geocoder gem para mi proyecto y, a medida que el proyecto crece, estoy empezando a buscar conectarme a la clave API de Google. Después de agregar esto al proyecto:

Geocoder.configure do |config|

# geocoding service (see below for supported options):
config.lookup = :google

# to use an API key:
config.api_key = "my_key"

# geocoding service request timeout, in seconds (default 3):
config.timeout = 5

end

Recibo un error de API de geocodificación de Google: solicitud denegada cuando inicio la aplicación Al leer, parece que otros cambian a Yahoo si eligen continuar usando la gema. ¿Puedo configurar la gema para que funcione con la clave de API de Google? Principalmente, me gustaría estar atento a la cantidad de consultas diarias para evitar superar el límite.

Respuestas

6 para la respuesta № 1

Geocoder solo admite claves de API de Google para cuentas de Google Premier.

Se encuentra aquí en el archivo Léame en github: https://github.com/alexreisner/geocoder#google-google-google_premier

Si tiene una clave de API de Google Premier, solo tiene que ponerla en un intializador:

# config/initializers/geocoder.rb
Geocoder.configure(:lookup => :google_premier, :api_key => "...")

Y su Geocoder utilizará su clave principal.


2 para la respuesta № 2

crear un archivo: config / initializers / geocoder.rb y una configuración como esta:

Geocoder.configure(
:lookup => :google_premier,
:api_key=> ["api_key","client_id","client_id_type"],
)

2 para la respuesta № 3

Tuve este problema hoy y logré resolverlo configurando use_https p.ej.

Geocoder.configure(
:timeout => 15,
:api_key => "YOUR_KEY",
:use_https => true
)

0 para la respuesta № 4

Geocoder funciona bien con el nivel gratuito de su API de mapas. Sin embargo, para que funcione, tuve que registrar una clave usando esta página específicamente.

https://console.developers.google.com/flows/enableapi?apiid=geocoding_backend&keyType=SERVER_SIDE


Y configurar la configuración

# config/initializers/geocoder.rb
Geocoder.configure(
api_key: "KEY_HERE",
use_https: true
)

-1 para la respuesta № 5

De manera predeterminada, Geocoder utiliza la API de geocodificación de Google para buscar coordenadas y direcciones de calles. Por lo tanto, creo que una clave API de Google debería funcionar en el inicializador.

Espero que este trabajo para ti.


-1 para la respuesta № 6
Geocoder.configure(
# geocoding service
lookup: :google,

# geocoding service request timeout (in seconds)
timeout: 3,

# default units
units: :km
)

Este trabajo para mi. Puede llamar a la API desde la consola de rails con geocoder doc en http://www.rubygeocoder.com/ que llamarlo desde la vista /my_map/show.html.erb reemplace la dirección o ciudad, etc. con <%= @place.address %>


-1 para la respuesta № 7

Si alguien todavía está mirando esto, para algunosmotivo por el cual la API de Google cambió y Geocoder ya no funciona con el archivo de configuración estándar. Sin embargo, simplemente no puede usar la gema Geocoder para geocodificación y geocodificación inversa (no use Geocoder.search) y usar cualquier gema de solicitud http para llamar directamente a la API de Google, a partir de este momento usando RestClient la llamada a la API sería

respuesta = RestClient.get "https://maps.googleapis.com/maps/api/geocode/json?address="+ sanitized_query +" & key = "+ your_key

donde la consulta desinfectada puede ser una dirección como "Cupertino, CA" o una cadena "lat = x, lng = y" para geocodificación o geocodificación inversa. No es necesario obtener una cuenta premier de Google.