Geokit возвращает результаты на английском и других языках

Я просто попытался геокодировать простой адрес "Токио", используя Geokit 1.6.0, и геокодер возвратил 東京都 вместо "Токио".

Как я могу попросить, чтобы геокодер всегда возвращал результаты на английском языке?

1 ответ

Geokit не позволяет вам указать языковую опцию (даже если провайдер, которого вы используете, может ее принять). Если вы используете Google для своего провайдера, вы можете как минимум переопределить do_geocode способ принять языковую опцию (пример здесь).

В качестве альтернативы я предлагаю использовать Geocoder gem:

$ gem install geocoder
$ geocode 'Tokyo'
Latitude:         35.6894875
Longitude:        139.6917064
Full address:     Tokyo, Japan
City:             
State/province:   Tokyo
Postal code:      
Country:          Japan
Google map:       http://maps.google.com/maps?q=35.6894875,139.6917064

По умолчанию гем Geocoder использует API геокодирования Google, а языком по умолчанию является английский. Но Geocoder выбирает язык. Давайте попробуем русский язык:

$ geocode -l ru 'Tokyo'
Latitude:         35.6894875
Longitude:        139.6917064
Full address:     Токио, Япония
City:             
State/province:   Токио
Postal code:      
Country:          Япония
Google map:       http://maps.google.com/maps?q=35.6894875,139.6917064

Вот список языков и кодов языков, которые поддерживает API геокодирования Google.

Другие вопросы по тегам