Форма ввода / вывода google maps api call отсутствует компонент адреса - PullRequest
0 голосов
/ 01 мая 2020

У меня есть форма Form-IO с адресным полем. Поскольку форма IO обрабатывает запрос самостоятельно, я просто предоставил ключ API (который я получил после оплаты Google). Запрос, обрабатываемый IO формы, работает следующим образом:

1) Когда я набираю текст для мест, IO формы отправляет запрос «Поиск места» для получения «Place_Id»

2. ) Затем форма IO отправляет запрос «Сведения о месте» с идентификатором «Place_Id», чтобы получить сведения, содержащие «Address_components», и сохраняет его в ресурсе

. Мне нужен компонент адреса для моего процесса. Однако иногда я не получаю "Address_Components", а только получаю "formatted_address". Это оставалось какое-то время (почти весь апрель), поэтому я его внешне проверил, но потом вернул «Address_components». После этого, даже в форме ввода / вывода, я получаю "Address_components".

Кто-нибудь имеет представление о причине этой проблемы, и если да, как я могу это исправить? Отсутствие «Address_components» нарушит мой поток, и я не хочу программно проверять ответ, и если «Address_components» не существует, отправьте запрос «Разместить подробности» в Google, чтобы получить его, так как это добавляет больше сложностей к моим существующим Программа, которая на данный момент не подходит для меня.

Любая помощь будет принята с благодарностью. Я упомянул действительный и недействительный ответ, полученный на тот же адрес в форме IO

Неверный ответ

"locationAddress":{
     "formatted_address":"xxxx xxxx xxxx xxxx",
     "geometry":{
        "location":{
           "lat":xxxx,
           "lng":xxxx
        },
        "viewport":{
           "south":xxxx ,
           "west":xxxx,
           "north":xxxx,
           "east":xxxx
        }
     },
     "icon":"xxxx",
     "id":"xxxx",
     "name":"xxxx",
     "place_id":"xxxx",
     "plus_code":{
        "compound_code":"xxxx",
        "global_code":"xxxx"
     },
     "reference":"xxxx",
     "types":[
        "street_address"
     ],
     "html_attributions":[

     ]
  },

Правильный ответ

"locationAddress":{
     "address_components":[
        {
           "long_name":"xx",
           "short_name":"xx",
           "types":[
              "street_number"
           ]
        },
        {
           "long_name":"xxxxx",
           "short_name":"xxxx",
           "types":[
              "route"
           ]
        },
        {
           "long_name":"xxxx",
           "short_name":"xxxx",
           "types":[
              "locality",
              "political"
           ]
        },
        {
           "long_name":"xxxx",
           "short_name":"xxxx",
           "types":[
              "administrative_area_level_2",
              "political"
           ]
        },
        {
           "long_name":"xxxx",
           "short_name":"xxxx",
           "types":[
              "administrative_area_level_1",
              "political"
           ]
        },
        {
           "long_name":"xxxx",
           "short_name":"xx",
           "types":[
              "country",
              "political"
           ]
        },
        {
           "long_name":"xxxx",
           "short_name":"xxxx",
           "types":[
              "postal_code"
           ]
        }
     ],
     "formatted_address":"xxxx xxxx xxxx xxxx",
     "geometry":{
        "location":{
           "lat":xxxx,
           "lng":xxxx
        },
        "location_type":"xxxx",
        "viewport":{
           "northeast":{
              "lat":xxxx,
              "lng":xxxx
           },
           "southwest":{
              "lat":xxxx,
              "lng":xxxx
           }
        }
     },
     "partial_match":true,
     "place_id":"xxxx",
     "plus_code":{
        "compound_code":"xxxx xxxx xxxx xxxx",
        "global_code":"xxxx xxxx xxxx xxxx"
     },
     "types":[
        "street_address"
     ]
  }
...