Автозаполнение Google Maps - не возвращаются номера улиц? - PullRequest
0 голосов
/ 19 января 2020

Я собираюсь создать довольно простую c функцию поиска адресов внутри моего iOS приложения. Я использую автозаполнение Google Адресов, чтобы запрашивать результаты, основанные на пользовательском вводе, как показано ниже:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=shoppers@&radius=160934&location=50.445210,-104.618896&components=country:ca&key=xxxxxxxxxxxxx

Результаты, которые я получаю, слишком расплывчаты для практического использования. Ниже приведен один пример, где все, что я получаю, это название предприятия и улицы, на которой оно находится. Проблема в том, что для этой компании на одной улице есть три разных места, так как бы пользователь мог определить, какую из них он выбирает, не указав номер улицы?

{
         "description" : "Shoppers Drug Mart, Albert Street, Regina, SK, Canada",
         "id" : "94065830c922a4239ece26102fb3439fa2f2e155",
         "matched_substrings" : [
            {
               "length" : 8,
               "offset" : 0
            }
         ],
         "place_id" : "ChIJ4XzAGbCgHlMRGSFBsEbyfCE",
         "reference" : "ChIJ4XzAGbCgHlMRGSFBsEbyfCE",
         "structured_formatting" : {
            "main_text" : "Shoppers Drug Mart",
            "main_text_matched_substrings" : [
               {
                  "length" : 8,
                  "offset" : 0
               }
            ],
            "secondary_text" : "Albert Street, Regina, SK, Canada"
         },
         "terms" : [
            {
               "offset" : 0,
               "value" : "Shoppers Drug Mart"
            },
            {
               "offset" : 20,
               "value" : "Albert Street"
            },
            {
               "offset" : 35,
               "value" : "Regina"
            },
            {
               "offset" : 43,
               "value" : "SK"
            },
            {
               "offset" : 47,
               "value" : "Canada"
            }
         ],
         "types" : [ "pharmacy", "health", "point_of_interest", "store", "establishment" ]
      },

1 Ответ

0 голосов
/ 19 января 2020

Places Autocomplete не предназначен для возврата подробной информации об адресе. Он предназначен для возврата прогнозов на основе вашего ввода. Затем вам нужно будет использовать возвращаемый идентификатор места и сделать запрос на информацию о месте, используя его, чтобы получить ответ, включающий информацию об адресе и т. Д. c.

Используя первый результат из запроса на автозаполнение, я могу сформировать запрос сведений о месте, например: https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJ4XzAGbCgHlMRGSFBsEbyfCE&key=YOUR_API_KEY, который предоставит необходимую информацию.

https://developers.google.com/places/web-service/autocomplete#place_autocomplete_results https://developers.google.com/places/web-service/place-id#example -using-the- места-апи

...