2012-07-31 16 views
16

Używam klejnotu geokodera ruby ​​dla mojego projektu, a wraz z rozwojem projektu zaczynam szukać połączenia z kluczem API Google. Po dodaniu do projektu:Czy klejnot Geokodera działa z kluczem google API?

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 

Otrzymuję błąd interfejsu API Google Geocoding: żądanie odrzucone. kiedy uruchamiam aplikację. Od czytania dookoła, wydaje się, że inni przełączają się na Yahoo, jeśli zdecydują się kontynuować korzystanie z klejnotu. Czy mogę skonfigurować klejnik do pracy z kluczem google api? Przede wszystkim chciałbym mieć oko na liczbę codziennych zapytań, aby uniknąć przekroczenia limitu.

+0

sam problem dla mnie. Jakieś szczęście? – Glenn

+1

Nie, używając yahoo już teraz. – user527662

+0

Przeniosłem się na frontowe wyszukiwanie geocoordinate, jednocześnie zachowując geocoder na zapleczu jako rezerwę. Sprawdź mój komentarz na https://github.com/alexreisner/geocoder/issues/222#issuecomment-7857999 ze szczegółami, jeśli jesteś zainteresowany. – Glenn

Odpowiedz

-1

Domyślnie Geocoder wykorzystuje API geokodujące Google do pobierania współrzędnych i adresów ulic. Myślę więc, że klucz Google API powinien działać na inicjalizatorze.

Mam nadzieję, że ta praca dla Ciebie.

-1
Geocoder.configure(
    # geocoding service 
    lookup: :google, 

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

    # default units 
    units: :km 
) 

Ta praca dla mnie. Można zadzwonić API z konsoli szyn z geocoder doc na http://www.rubygeocoder.com/ niż wywołać ją z widzenia /my_map/show.html.erb zastąpić adres lub miasto etc z <%= @place.address %>

6

geocoder obsługuje klucze Google API na potrzeby wyłącznie kont Google Premier.

Jest tutaj w readme na github: https://github.com/alexreisner/geocoder#google-google-google_premier

Jeśli masz klucz API Google Premier wystarczy umieścić to w intializer:

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

A twój geocoder wykorzysta swoją premierę klawisz.

2

utworzyć plik: config/inicjatorów/geocoder.rb i konfiguracji takiego:

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

miałem ten problem dziś i udało się go rozwiązać poprzez ustawienie use_https np

-1

Jeśli ktoś nadal na to patrzy, z jakiegoś powodu interfejs API Google został zmieniony, a Geocoder przestał działać ze standardowym plikiem konfiguracyjnym. Jednak po prostu nie możesz użyć klejnotu Geokodera do geokodowania i odwrotnego geokodowania (nie używaj Geocoder.search) i użyj dowolnego apletu zapytania http, aby bezpośrednio wywołać aplet google, od tego momentu używając RestClient, wywołanie api będzie

odpowiedzi = RestClient.get 'https://maps.googleapis.com/maps/api/geocode/json?address=' + sanitized_query + '& klucz =' + your_key

którym oczyszczone zapytanie może być adres jak 'Cupertino, CA' lub 'ac = x = Y LNG' łańcuch do geokodowania lub odwrotnego geokodowania. Nie ma potrzeby posiadania konta Google premier.

Powiązane problemy