2016-07-10 7 views
0

Я пытаюсь реализовать API карт google. Все работает хорошо, за исключением ответа, который возвращается из Google. Ответ переводит название города на мой язык языка (NL), но оставляет страну на нужном языке (EN).Google Maps API Язык ответа V3 неверен для названия города

На карте и на автозапуске отображаются названия городов городов. Однако при нажатии на предложение вход получить изменилось всего за доли секунды до NL вариант (опять же, оставив название страны в EN)

Вот тег скрипт, который я в настоящее время с помощью:

<script type="text/javascript" src='http://maps.google.com/maps/api/js?libraries=places&language=en&key=MYKEY'></script> 

выходной ток я получаю:

addressLine1:"14 Bisschopsstraat" 
addressLine2:"" 
city:"Brussel" 
country:"Belgium" 
country_short:"BE" 
postalCode:"1000" 
stateOrProvince:"Brussel" 
streetName:"Bisschopsstraat" 
streetNumber:"14" 

Я пробовал:

  • Добавление region=GB в Src запроса скрипт тегов, но это просто влияет на приоритеты поиска площадь
  • Чтение всю документацию (Существует не так много о том, как изменить язык ответа, хотя)

Примеры того, что является неправильным с ответом:

Brussel должен быть Брюссель

Antwerpen должен быть Антверпен

Autocomplete example

+0

(Забавно, я живу очень близко к этому адресу.) Что именно вы ожидаете произойдет? Вам нужно только название города на английском языке? Потому что название улицы там существует только на голландском и французском языках. Я не думаю, что у Google есть список названий улиц, переведенных на английский язык –

+0

: D haha ​​И хорошо, я ожидаю, что название города будет на английском (названия улиц не имеют значения). Поэтому вместо Брюсселя и Антверпена вместо Антверпена следует сказать Брюссель:/ – NealVDV

ответ

1

При использовании геокодирования или мест службы это, кажется, предполагаемое поведение.

Пожалуйста, посмотрите на этот пост: http://googlegeodevelopers.blogspot.com.es/2014/11/localization-of-street-addresses-in.html

адреса на уровне улиц, возвращаемые API Google Maps геокодирования Теперь благоприятствовать местный язык, сохраняя при этом адрес понятным, насколько это возможно и для пользователя который только читает запрашиваемый язык, а также местные жители.

Если местный язык и язык пользователя используют один и тот же алфавит, API геокодирования теперь вернет локальные имена для улиц и местностей. Например, поиск адреса в Бразилии с пользовательским языком, установленным на английском языке, теперь возвращает «Авенида Паулиста», а не «Паулиста-авеню».

Обходной я могу думать о следующем:

  1. Вы получаете место ID из автозаполнения элемента https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Bisschopsstraat%2014%2C%20Brussels%2C%20Belgium&key=YOUR_API_KEY Это возвращает место ID EiVCaXNzY2hvcHNzdHJhYXQgMTQsIEJydXNzZWxzLCBCZWxnaXVt
  2. Вы казнить место детали просить, чтобы получить широту и долгота https://maps.googleapis.com/maps/api/place/details/json?placeid=EiVCaXNzY2hvcHNzdHJhYXQgMTQsIEJydXNzZWxzLCBCZWxnaXVt&key=YOUR_API_KEY Это будет возвращено 50.8503548,4.351704499999999
  3. Выполнение обратного геокодирования для la titude, долготу с указанием типа результата, как местность и язык как английский https://maps.googleapis.com/maps/api/geocode/json?latlng=50.8503548%2C4.351704499999999&language=en&result_type=locality&key=YOUR_API_KEY И здесь у вас есть "formatted_address":"Brussels, Belgium"
+0

Действительно, я уже закончил эту статью, но нет способа, чтобы названия городов отображались на определенном языке (адрес улицы не имеет значения в моем дело). Дело в том, что сама карта показывает правильное имя, но при попытке захватить адрес он меняет его на голландский вариант:/ – NealVDV

+0

Я обновил свой ответ. – xomena

+0

Насколько я могу видеть, вариант 3 будет для меня самым полезным! Я введу эти изменения в понедельник. Спасибо за ваше время и силы! Я опубликую обновление в понедельник вечером! – NealVDV