Ответ 1
Is this the expected behavior of the API?
Да, это ожидаемый результат. Даже если вы укажете язык, он вернет ответ на этом языке, только если есть один доступный, если он не вернет ответ на том языке, на котором он был первоначально введен.
Случай 1:
- Милан: Милан - город. Таким образом, результаты доступны практически на каждом языке. Почти все главные города по всему миру имеют результаты на каждом языке. По умолчанию вы получите результат на английском языке.
Случай 2:
- Via della Spiga: Как это улица. Прямо сейчас, результаты доступны только на итальянском языке, поскольку они наиболее востребованы на итальянском языке.
Результат при поиске "Через della Spiga" в Карте Google:
Чтобы узнать больше об этом:
-
Перевод информации о местах на язык, указанный по запросу. В этом запросе на функцию предлагается сообщить разработчику, на каком языке результаты, чтобы они могли позаботиться о данных соответственно, я лично считаю, что это будет здорово, пока проблема не будет исправлена.
Оба вышеупомянутых вопроса - около 2-х лет. Однако Google не может решить эти проблемы.
Один из способов решить эту проблему - использовать textsearch:
Как вы можете конвертировать большую часть административной области/города в любое имя языка, используя textearch:
`https://maps.googleapis.com/maps/api/place/textsearch/json?query=Lombardia&language=Your_language&key=YOUR_API_KEY`
Пример: Преобразование "Lombardia"
в китайский язык:
https://maps.googleapis.com/maps/api/place/textsearch/json?query=Lombardia&language=zh-CN&key=YOUR_API
{
"html_attributions" : [],
"results" : [
{
"formatted_address" : "意大利伦巴第",
"geometry" : {
"location" : {
"lat" : 45.47906709999999,
"lng" : 9.8452433
},
"viewport" : {
"northeast" : {
"lat" : 46.6351853,
"lng" : 11.4276993
},
"southwest" : {
"lat" : 44.6796491,
"lng" : 8.4978605
}
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png",
"id" : "02401d0909d69ca5c69de799e193caf84acc41f9",
"name" : "伦巴第",
"place_id" : "ChIJf4M-GsNEgUcR1JMVKCIm8qY",
"reference" : "CoQBfQAAAEKCAV-1Ec-V2ZfnWsCk_elhlEXckc_k94jBYlU7k5ivhrqPlWd24aSAa5fqNTfwKKhU0wSsZFv42aMm1BrG5wEwZNGKwFqELxMEt0ye7KFfBgVtfHZbqeiBx3hEH8Iq60wwW--edqpROkBTjHrxIwisCGJwhCzKKkQ9H6FdfW_aEhAnmI0ZOFk1KGaGms4IqTOiGhRX5iErBIwnmLos4U9Ggs325MmcEA",
"types" : [ "administrative_area_level_1", "political" ]
}
],
"status" : "OK"
}
Ломбардия в китайском 意大利 伦巴 第
При поиске сведений placeID вы получаете массив address_components
:
"address_components" : [
{
"long_name" : "Via della Spiga",
"short_name" : "Via della Spiga",
"types" : [ "route" ]
},
{
"long_name" : "Milano",
"short_name" : "Milano",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Milano",
"short_name" : "MI",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Lombardia",
"short_name" : "Lombardia",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "Italy",
"short_name" : "IT",
"types" : [ "country", "political" ]
}
]
Итак, если вы зацикливаете над указанным выше массивом и используете textearch, тогда вы получите почти согласованный адрес на определенном языке.