Карты Google: Как получить "город" с тайского адреса? - PullRequest
0 голосов
/ 15 января 2019

Я использую Google Maps через Javascript для извлечения компонентов адреса. Я знаком с австралийскими адресами, и это сработало хорошо. Сейчас я хочу сделать то же самое для адресов в Таиланде (см. Код ниже).

Вот пример адреса: Сукхумвит Роуд, 123/1, Пхра Ханонг Нуэа, Ваттхана, Бангкок, Таиланд

Для этого адреса (и для всех остальных базирующихся в Бангкоке я не могу получить компонент "Bangkok" адреса

например. в консоли я получаю вывод, как показано ниже, в котором есть некоторые полезные компоненты, но не часть «Бангкок». Как я могу получить компонент Бангкока адреса, захваченного / сохраненного в переменную?

Спасибо

enter image description here

GMaps.geocode({ address: to_check, callback: function(results, status) {
  if (status=='OK') {
    for (var i=0; i<results[0].address_components.length; i++) {
      for (var b=0;b<results[0].address_components[i].types.length;b++) {
        console.log(results[0].address_components[i].long_name);
      }
    }
  }
});

Или вот какой-то вывод из: console.log (JSON.stringify (results, null, 4));

[
    {
        "address_components": [
            {
                "long_name": "1239",
                "short_name": "1239",
                "types": [
                    "street_number"
                ]
            },
            {
                "long_name": "Sukhumvit Road",
                "short_name": "Sukhumvit Rd",
                "types": [
                    "route"
                ]
            },
            {
                "long_name": "Khwaeng Khlong Tan Nuea",
                "short_name": "Khwaeng Khlong Tan Nuea",
                "types": [
                    "political",
                    "sublocality",
                    "sublocality_level_2"
                ]
            },
            {
                "long_name": "Khet Watthana",
                "short_name": "Khet Watthana",
                "types": [
                    "political",
                    "sublocality",
                    "sublocality_level_1"
                ]
            },
            {
                "long_name": "Krung Thep Maha Nakhon",
                "short_name": "Krung Thep Maha Nakhon",
                "types": [
                    "administrative_area_level_1",
                    "political"
                ]
            },
            {
                "long_name": "Thailand",
                "short_name": "TH",
                "types": [
                    "country",
                    "political"
                ]
            },
            {
                "long_name": "10110",
                "short_name": "10110",
                "types": [
                    "postal_code"
                ]
            }
        ],
        "formatted_address": "1239 Sukhumvit Rd, Khwaeng Khlong Tan Nuea, Khet Watthana, Krung Thep Maha Nakhon 10110, Thailand",
        "geometry": {
            "location": {
                "lat": 13.7205331,
                "lng": 100.58442760000003
            },
            "location_type": "ROOFTOP",
            "viewport": {
                "south": 13.7191841197085,
                "west": 100.58307861970843,
                "north": 13.7218820802915,
                "east": 100.58577658029151
            }
        },
        "place_id": "ChIJpQpSZ6Wf4jARbINdb-Lw-MM",
        "plus_code": {
            "compound_code": "PHCM+6Q Bangkok, Thailand",
            "global_code": "7P52PHCM+6Q"
        },
        "types": [
            "street_address"
        ]
    }
]

1 Ответ

0 голосов
/ 18 января 2019

Krung Thep Maha Nakhon по-тайски означает «Бангкок» . Он находится в последнем компоненте адреса перед Бангкоком ...

{
    "long_name": "Krung Thep Maha Nakhon",
    "short_name": "Krung Thep Maha Nakhon",
    "types": [
        "administrative_area_level_1",
        "political"
    ]
},

Склонность к тайскому языку, вероятно, исходит от локали в учетной записи Google, которая устанавливает ключ API. Вы можете установить явный регион с параметром "ccTLD" по запросу. .us для английского языка в США. См. Раздел «Смещение региона» в этом документе .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...