Введение
Автозаполнение (новое) — это веб-сервис, который возвращает прогнозы мест и запросов в ответ на HTTP-запрос. В запросе укажите текстовую строку поиска и географические границы, определяющие область поиска.
Функция автозаполнения (новая) может выполнять поиск по полным словам и подстрокам входных данных, определяя названия мест, адреса и плюс-коды . Таким образом, приложения могут отправлять запросы по мере ввода текста пользователем, предоставляя оперативные прогнозы мест и запросов.
Ответ от функции автозаполнения (новый) может содержать два типа прогнозов:
- Прогнозы мест : места, такие как компании, адреса и достопримечательности, на основе указанной текстовой строки и области поиска. Прогнозы мест возвращаются по умолчанию.
- Прогнозы запроса : строки запроса, соответствующие входной текстовой строке и области поиска. Прогнозы запроса по умолчанию не возвращаются. Используйте параметр запроса
includeQueryPredictions
, чтобы добавить прогнозы запроса в ответ.
Например, вы вызываете функцию автозаполнения (New), используя в качестве входных данных строку, содержащую частично введенный пользователем запрос «Sicilian piz», при этом область поиска ограничена Сан-Франциско, штат Калифорния. В ответе содержится список подсказок мест , соответствующих строке поиска и области поиска, например, ресторан под названием «Sicilian Pizza Kitchen», а также подробная информация об этом месте.
Возвращаемые прогнозы мест предназначены для того, чтобы помочь пользователю выбрать нужное место. Вы можете сделать запрос « Сведения о месте (новое)» , чтобы получить дополнительную информацию о любом из возвращаемых прогнозов мест.
Ответ также может содержать список подсказок запроса , соответствующих строке поиска и области поиска, например, «Сицилийская пицца и паста». Каждая подсказка запроса в ответе включает text
поле с рекомендуемой строкой поиска. Используйте эту строку в качестве входных данных для функции «Поиск текста (новый)» для выполнения более детального поиска.
API Explorer позволяет вам делать живые запросы, чтобы вы могли ознакомиться с API и его параметрами:
Автозаполнение (новых) запросов
Запрос автозаполнения (новый) — это HTTP-запрос POST к URL-адресу в форме:
https://places.googleapis.com/v1/places:autocomplete
Передайте все параметры в теле JSON-запроса или в заголовках как часть POST-запроса. Например:
curl -X POST -d '{ "input": "pizza", "locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Поддерживаемые параметры
Параметр | Описание |
---|---|
| Текстовая строка для поиска (полные слова, подстроки, названия мест, адреса, плюс-коды). |
| Список полей, разделенных запятыми, указывающих, какие поля следует вернуть в ответе. |
Ограничивает результаты местами, соответствующими одному из пяти указанных основных типов. | |
Если задано значение «истина», то включаются компании без физического местоположения (компании, обслуживающие территорию). Значение по умолчанию — «ложь». | |
Если значение true, в ответ включаются как прогнозы по месту, так и прогнозы по запросу. Значение по умолчанию — false. | |
Массив из до 15 двухсимвольных кодов стран для ограничения результатов. | |
Смещение позиции курсора в строке ввода (символы Unicode), начинающееся с нуля, влияет на прогнозы. По умолчанию равно длине входного символа. | |
Предпочтительный язык (код IETF BCP-47) для результатов. По умолчанию используется заголовок Accept-Language или «en». | |
Указывает область (круг или прямоугольник), к которой будут смещены результаты поиска, позволяя результаты за пределами этой области. Не может использоваться с locationRestriction. | |
Задаёт область (круг или прямоугольник), в пределах которой будут ограничены результаты поиска. Результаты за пределами этой области исключаются. Не может использоваться с locationBias. | |
Исходная точка (широта, долгота), используемая для расчета расстояния по прямой (расстояние в метрах) до предполагаемых пунктов назначения. | |
Код региона, используемый для форматирования ответа и предположений о предвзятости (например, «uk», «fr»). | |
Созданная пользователем строка для группировки вызовов автозаполнения в сеанс для выставления счетов. |
Об ответе
Функция автозаполнения (новая) возвращает JSON-объект в качестве ответа. В ответе:
- Массив
suggestions
содержит все предсказанные места и запросы, упорядоченные по степени их релевантности. Каждое место представлено полемplacePrediction
, а каждый запрос — полемqueryPrediction
. - Поле
placePrediction
содержит подробную информацию об одном прогнозе места, включая идентификатор места и текстовое описание. - Поле
queryPrediction
содержит подробную информацию об одном прогнозе запроса.
Полный объект JSON имеет следующий вид:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 }] }, ... }, { "queryPrediction": { "text": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 }] }, ... } ...] }
Обязательные параметры
вход
Текстовая строка для поиска. Укажите полные слова и подстроки, названия мест, адреса и плюс-коды . Служба автозаполнения (новая) возвращает возможные совпадения на основе этой строки и упорядочивает результаты по степени их релевантности.
Необязательные параметры
FieldMask
Укажите список полей, возвращаемых в ответе, создав маску поля ответа . Передайте маску поля ответа методу с помощью HTTP-заголовка
X-Goog-FieldMask
.Укажите список полей подсказок, разделённых запятыми, которые необходимо вернуть. Например, чтобы получить
suggestions.placePrediction.text.text
иsuggestions.queryPrediction.text.text
подсказки.X-Goog-FieldMask: suggestions.placePrediction.text.text,suggestions.queryPrediction.text.text
Используйте
*
для извлечения всех полей.X-Goog-FieldMask: *
включеныPrimaryTypes
Место может иметь только один основной тип из перечисленных в таблице A или таблице B. Например, основным типом может быть
"mexican_restaurant"
или"steak_house"
.По умолчанию API возвращает все места на основе
input
параметра, независимо от значения основного типа, связанного с местом. Ограничьте результаты одним или несколькими основными типами, передав параметрincludedPrimaryTypes
.Используйте этот параметр, чтобы указать до пяти значений типа из таблицы A или таблицы B. Для включения в ответ место должно соответствовать одному из указанных значений основного типа.
Этот параметр может также включать один из вариантов:
(regions)
или(cities)
. Тип сбора(regions)
фильтрует области или подразделения, такие как районы и почтовые индексы. Тип сбора(cities)
фильтрует места, которые Google идентифицирует как города.Запрос отклоняется с ошибкой
INVALID_REQUEST
, если:- Указано более пяти типов.
- Любой тип указывается в дополнение к
(cities)
или(regions)
. - Указаны все нераспознанные типы.
includePureServiceAreaBusinesses
Если установлено значение
true
, ответ включает компании, которые посещают клиентов или доставляют им товары напрямую, но не имеют физического офиса. Если установлено значениеfalse
, API возвращает только компании с физическим офисом.includeQueryPredictions
Значение
true
означает, что ответ включает как прогнозы по месту, так и по запросу. Значение по умолчанию —false
, что означает, что ответ включает только прогнозы по месту.включеныRegionCodes
Включать результаты только из списка указанных регионов, заданных в виде массива, содержащего до 15 двухсимвольных значений ccTLD (доменов верхнего уровня) . Если этот параметр пропущен, к ответу не применяются никакие ограничения. Например, чтобы ограничить регионы Германией и Францией:
"includedRegionCodes": ["de", "fr"]
Если указать и
locationRestriction
, иincludedRegionCodes
, результаты будут расположены в области пересечения двух настроек.inputOffset
Смещение символа Unicode (отсчитывается от нуля), указывающее позицию курсора в
input
. Положение курсора может влиять на возвращаемые прогнозы. Если значение пусто, по умолчанию используется длина строкиinput
.код_языка
Предпочтительный язык для возврата результатов. Результаты могут быть на смешанных языках, если язык, используемый во
input
, отличается от значения, указанного вlanguageCode
, или если возвращаемое место не имеет перевода с локального языка наlanguageCode
.- Для указания предпочитаемого языка необходимо использовать языковые коды IETF BCP-47 .
- Если
languageCode
не указан, API использует значение, указанное в заголовкеAccept-Language
. Если не указано ни одно из них, по умолчанию используетсяen
. Если указан недопустимый код языка, API возвращает ошибкуINVALID_ARGUMENT
. - Предпочтительный язык оказывает небольшое влияние на набор результатов, возвращаемых API, и порядок их возврата. Это также влияет на способность API исправлять орфографические ошибки.
- API стремится предоставить уличный адрес, понятный как пользователю, так и местному населению, и при этом отражающий введенные пользователем данные. Прогнозы местоположений форматируются по-разному в зависимости от введенных пользователем данных в каждом запросе.
- Сначала выбираются соответствующие термины во
input
параметре, при этом используются имена, соответствующие языковым предпочтениям, указанным параметромlanguageCode
(если они доступны), в противном случае используются имена, которые лучше всего соответствуют пользовательскому вводу. - Адреса форматируются на местном языке, по возможности в понятном для пользователя тексте, только после того, как будут выбраны соответствующие термины, соответствующие терминам во
input
параметре. - Все остальные адреса возвращаются на предпочитаемом языке после выбора соответствующих терминов, соответствующих терминам во
input
параметре. Если имя недоступно на предпочитаемом языке, API использует наиболее близкое совпадение.
- Сначала выбираются соответствующие термины во
МестоположениеПредвзятость или ограничение местоположения
Для определения области поиска можно указать
locationBias
илиlocationRestriction
, но не оба одновременно.locationRestriction
задаёт регион, в пределах которого должны находиться результаты, аlocationBias
— регион, вблизи которого должны находиться результаты, но который может находиться за его пределами.locationBias
Указывает область поиска. Это местоположение служит смещением, что означает, что могут быть возвращены результаты, близкие к указанному местоположению, включая результаты за пределами указанной области.
МестоположениеОграничение
Указывает область поиска. Результаты за пределами указанной области не возвращаются.
Укажите область
locationBias
илиlocationRestriction
как прямоугольную область просмотра или как круг .Окружность определяется точкой центра и радиусом в метрах. Радиус должен находиться в диапазоне от 0,0 до 50000,0 включительно. Значение по умолчанию — 0,0. Для
locationRestriction
необходимо задать радиус больше 0,0. В противном случае запрос не вернёт результатов.Например:
"locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
Прямоугольник — это область просмотра, представленная в виде двух диагонально противоположных точек:
low
и верхней. Область просмотра считается замкнутой областью, то есть включает её границу. Границы широты должны находиться в диапазоне от -90 до 90 градусов включительно, а границы долготы — в диапазоне от -180 до 180 градусов включительно.- Если
low
=high
, то область просмотра состоит из этой единственной точки. - Если
low.longitude
>high.longitude
, диапазон долготы инвертируется (область просмотра пересекает линию долготы 180 градусов). - Если
low.longitude
= -180 градусов иhigh.longitude
= 180 градусов, область просмотра включает все долготы. - Если
low.longitude
= 180 градусов, аhigh.longitude
= -180 градусов, диапазон долготы пуст.
Оба
low
иhigh
должны быть заполнены, и отображаемое поле не может быть пустым. Пустая область просмотра приводит к ошибке.Например, эта область просмотра полностью охватывает Нью-Йорк:
"locationBias": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } }
- Если
источник
Начальная точка, от которой рассчитывается расстояние по прямой до пункта назначения (возвращается как
distanceMeters
). Если это значение пропущено, расстояние по прямой не будет возвращено. Необходимо указать координаты широты и долготы:"origin": { "latitude": 40.477398, "longitude": -74.259087 }
Код региона
Код региона, используемый для форматирования ответа, указывается как двухсимвольное значение ccTLD («домен верхнего уровня») . Большинство кодов ccTLD идентичны кодам ISO 3166-1, за некоторыми заметными исключениями. Например, ccTLD Великобритании — «uk» (.co.uk), а код ISO 3166-1 — «gb» (технически обозначает «Соединённое Королевство Великобритании и Северной Ирландии»).
Предложения также зависят от региональных кодов. Google рекомендует устанавливать
regionCode
в соответствии с региональными предпочтениями пользователя.Если указан недопустимый код региона, API возвращает ошибку
INVALID_ARGUMENT
. Этот параметр может повлиять на результаты в соответствии с действующим законодательством.sessionToken
Токены сеансов — это генерируемые пользователями строки, которые отслеживают вызовы функции автозаполнения (New) как «сеансы». Функция автозаполнения (New) использует токены сеансов для группировки этапов запроса и выбора в рамках поиска пользователя с функцией автозаполнения в отдельный сеанс для выставления счетов. Подробнее см. в разделе Токены сеансов .
Выберите параметры для смещения результатов
Параметры автозаполнения (новые) могут по-разному влиять на результаты поиска. В следующей таблице представлены рекомендации по использованию параметров в зависимости от предполагаемого результата.Параметр | Рекомендации по использованию |
---|---|
regionCode | Устанавливается в соответствии с региональными предпочтениями пользователя. |
includedRegionCodes | Установите ограничение результатов списком указанных регионов. |
locationBias | Используйте, когда предпочтительны результаты , относящиеся к определённому региону или его окрестностям . Если применимо, определите регион как область просмотра карты, которую просматривает пользователь. |
locationRestriction | Используйте только в том случае, если результаты за пределами региона не должны возвращаться. |
origin | Используйте, когда предполагается прямолинейное расстояние до каждого прогноза. |
Примеры автозаполнения (новые)
Ограничить поиск областью с помощью locationRestriction
locationRestriction
задаёт область поиска. Результаты за пределами указанной области не возвращаются. В следующем примере locationRestriction
используется для ограничения запроса окружностью радиусом 5000 метров с центром в Сан-Франциско:
curl -X POST -d '{ "input": "Art museum", "locationRestriction": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Все результаты из указанных областей содержатся в массиве suggestions
:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q", "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q", "text": { "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "structuredFormat": { "mainText": { "text": "Asian Art Museum", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "secondaryText": { "text": "Larkin Street, San Francisco, CA, USA" } }, "types": [ "establishment", "museum", "point_of_interest" ] } }, { "placePrediction": { "place": "places/ChIJI7NivpmAhYARSuRPlbbn_2w", "placeId": "ChIJI7NivpmAhYARSuRPlbbn_2w", "text": { "text": "de Young Museum, Hagiwara Tea Garden Drive, San Francisco, CA, USA", "matches": [ { "endOffset": 15 } ] }, "structuredFormat": { "mainText": { "text": "de Young Museum", "matches": [ { "endOffset": 15 } ] }, "secondaryText": { "text": "Hagiwara Tea Garden Drive, San Francisco, CA, USA" } }, "types": [ "establishment", "point_of_interest", "tourist_attraction", "museum" ] } }, /.../ ] }
Вы также можете использовать locationRestriction
, чтобы ограничить поиск прямоугольной областью просмотра . В следующем примере запрос ограничивается центром Сан-Франциско:
curl -X POST -d '{ "input": "Art museum", "locationRestriction": { "rectangle": { "low": { "latitude": 37.7751, "longitude": -122.4219 }, "high": { "latitude": 37.7955, "longitude": -122.3937 } } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Результаты содержатся в массиве suggestions
:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q", "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q", "text": { "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "structuredFormat": { "mainText": { "text": "Asian Art Museum", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "secondaryText": { "text": "Larkin Street, San Francisco, CA, USA" } }, "types": [ "point_of_interest", "museum", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJyQNK-4SAhYARO2DZaJleWRc", "placeId": "ChIJyQNK-4SAhYARO2DZaJleWRc", "text": { "text": "International Art Museum of America, Market Street, San Francisco, CA, USA", "matches": [ { "startOffset": 14, "endOffset": 24 } ] }, "structuredFormat": { "mainText": { "text": "International Art Museum of America", "matches": [ { "startOffset": 14, "endOffset": 24 } ] }, "secondaryText": { "text": "Market Street, San Francisco, CA, USA" } }, "types": [ "museum", "point_of_interest", "tourist_attraction", "art_gallery", "establishment" ] } } ] }
Поиск по области с использованием locationBias
С помощью locationBias
местоположение выступает в качестве смещения, что означает, что могут быть возвращены результаты, близкие к указанному местоположению, включая результаты за пределами указанной области. В следующем примере вы смещаете запрос к центру Сан-Франциско:
curl -X POST -d '{ "input": "Amoeba", "locationBias": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Результаты теперь содержат гораздо больше элементов, включая результаты за пределами радиуса 5000 метров:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "electronics_store", "point_of_interest", "store", "establishment", "home_goods_store" ] } }, { "placePrediction": { "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw", "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw", "text": { "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Telegraph Avenue, Berkeley, CA, USA" } }, "types": [ "electronics_store", "point_of_interest", "establishment", "home_goods_store", "store" ] } }, ... ] }
Вы также можете использовать locationBias
, чтобы сместить область поиска в прямоугольную область просмотра . В следующем примере запрос ограничивается центром Сан-Франциско:
curl -X POST -d '{ "input": "Amoeba", "locationBias": { "rectangle": { "low": { "latitude": 37.7751, "longitude": -122.4219 }, "high": { "latitude": 37.7955, "longitude": -122.3937 } } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Хотя результаты поиска в прямоугольной области просмотра отображаются в ответе, некоторые из них выходят за заданные границы из-за смещения. Результаты также содержатся в массиве suggestions
:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw", "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw", "text": { "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Telegraph Avenue, Berkeley, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJRdmfADq_woARYaVhnfQSUTI", "placeId": "ChIJRdmfADq_woARYaVhnfQSUTI", "text": { "text": "Amoeba Music, Hollywood Boulevard, Los Angeles, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Hollywood Boulevard, Los Angeles, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, /.../ ] }
Использовать включенные основные типы
Используйте параметр includedPrimaryTypes
, чтобы указать до пяти значений типа из таблицы A , таблицы B или только (regions)
или только (cities)
. Для включения в ответ место должно соответствовать одному из указанных значений основного типа.
В следующем примере вы указываете input
строку «Футбол» и используете параметр includedPrimaryTypes
для ограничения результатов заведениями типа "sporting_goods_store"
:
curl -X POST -d '{ "input": "Soccer", "includedPrimaryTypes": ["sporting_goods_store"], "locationBias": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Если вы опустите параметр includedPrimaryTypes
, то результаты могут включать заведения ненужного вам типа, например "athletic_field"
.
Запрос прогнозов запроса
Прогнозы запросов по умолчанию не возвращаются. Используйте параметр запроса includeQueryPredictions
, чтобы добавить прогнозы запросов в ответ. Например:
curl -X POST -d '{ "input": "Amoeba", "includeQueryPredictions": true, "locationBias": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Массив suggestions
теперь содержит как прогнозы мест, так и прогнозы запросов, как показано выше в разделе «Об ответе» . Каждый прогноз запроса включает text
поле с рекомендуемой строкой поиска. Вы можете выполнить запрос «Поиск текста (новый)» , чтобы получить дополнительную информацию о любом из возвращенных прогнозов запроса.
Использовать источник
В этом примере укажите в запросе координаты origin
в виде широты и долготы. При указании origin
функция автозаполнения (New) добавит в ответ поле distanceMeters
, содержащее расстояние по прямой от origin
до конечной точки. В этом примере начальная точка устанавливается в центре Сан-Франциско:
curl -X POST -d '{ "input": "Amoeba", "origin": { "latitude": 37.7749, "longitude": -122.4194 }, "locationRestriction": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Теперь ответ включает distanceMeters
:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "home_goods_store", "establishment", "point_of_interest", "store", "electronics_store" ], "distanceMeters": 3012 } } ] }
Расстояние отсутствует в ответе
В некоторых случаях distanceMeters
отсутствует в теле ответа, даже если в запросе указан origin
. Это может произойти в следующих случаях:
-
distanceMeters
не учитывается при прогнозированииroute
. -
distanceMeters
не учитывается, если его значение равно0
, что имеет место для прогнозов, находящихся на расстоянии менее 1 метра от указанногоorigin
местоположения.
Клиентские библиотеки, пытающиеся прочитать поле distanceMeters
из проанализированного объекта, вернут поле со значением 0
Чтобы не вводить пользователей в заблуждение, не отображайте им нулевое расстояние.
Попробуйте!
API Explorer позволяет вам делать образцы запросов, чтобы вы могли ознакомиться с API и его параметрами.
Выберите значок API api на правой стороне страницы.
При желании отредактируйте параметры запроса.
Нажмите кнопку «Выполнить» . В диалоговом окне выберите учётную запись, которую вы хотите использовать для отправки запроса.
На панели обозревателя API выберите значок полноэкранного режима, чтобы развернуть окно обозревателя API.