Я только что попытался геокодировать простой адрес «Токио» с помощью Geokit 1.6.0, и геокодер вернул 東京都 вместо «Токио».
Как я могу сделать так, чтобы геокодер всегда выдавал результаты на английском языке?
Я только что попытался геокодировать простой адрес «Токио» с помощью Geokit 1.6.0, и геокодер вернул 東京都 вместо «Токио».
Как я могу сделать так, чтобы геокодер всегда выдавал результаты на английском языке?
Geokit не позволяет вам указать параметр языка (даже если используемый вами провайдер может его принять). Если вы используете Google для своего провайдера, вы можете как минимум переопределить метод do_geocode
, чтобы принять параметр языка (пример здесь).
В качестве альтернативы я предлагаю использовать гем Geocoder:
$ 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.