API Google Адресов не возвращает результаты - PullRequest
2 голосов
/ 28 апреля 2019

Я работаю с API Адресов и не могу получить ответы.

Вот пример запроса с именем Google

https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=Google&inputtype=textquery&fields=photos,formatted_address,name,rating,opening_hours,geometry&key=key

возвращает:

{
    candidates: [ ],
    status: "ZERO_RESULTS"
}

Однако, если я это сделаю:

https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=Museum%20of%20Contemporary%20Art%20Australia&inputtype=textquery&fields=photos,formatted_address,name,rating,opening_hours,geometry&key=key

Я получаю результаты

Может, я что-то не так делаю? Я только что включил свой биллинг, потому что он сказал, что мой счет был превышен лимит из-за отсутствия биллинга.

Не уверен, как поступить.

1 Ответ

4 голосов
/ 02 мая 2019

Я не уверен, что вам понравится мой ответ, но я все равно его подниму.

Первая ссылка не делает ничего, кроме поиска Google и ясно (а также не зная специфики), этот поиск слишком широк для движка, чтобы найти соответствующий список мест.

Если вы ищете " Google Australia ", " Google Asia " или " Google America ", тогда вы получите ответ так ясно, что он ищет более конкретный текст для поиска для работы.

Вы можетеубедитесь, что когда вы укажете Музей современного искусства, Австралия , вы получите ответ, но поиск только Музей не даст результатов, потому что он слишком широкий.Однако поиск Museum Melbourne дает 2 результата.

Теперь, сказав все это, вы можете искать только Google , но если вы хотите, чтобы он возвращал результаты, вам нужно будет предоставить некоторую информацию о местоположении.См. Параметр locationbias в документе, чтобы узнать, как это сделать.

Пример ниже работал с использованием моего IP-адреса ...

https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=Google&inputtype=textquery&fields=photos,formatted_address,name,rating,opening_hours,geometry&locationbias=ipbias&key=YOUR_KEY

Test Results

Я заметил, что с помощью радиуса круга выбирается самое близкое место (я тестировал с Больница ) к краю радиуса, а не все места в радиусе.

Это прямо из документа ...

Documentation

Еще один способ поиска вещей - через NearBySearch метод, а не текстовый поиск, особенно если вы ищете конкретные виды бизнеса, а также в пределах определенного радиуса, а не только ближайший к краю радиуса.

Этот пример ...

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-37.814,144.96332&radius=1500&type=hospital&key=YOUR_KEY

... возвращает все "больницы" (свободный термин) в радиусе 1500 м от длины лата (в данном случае это Мельбурн).Вы также можете добавить ключевые слова в поиск, если вам нужно.На самом деле это может быть лучшим подходом к тому, что вы хотите, но вы можете принять это решение самостоятельно.

Этот пример ...

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-37.814,144.96332&radius=50000&keyword=google&key=YOUR_KEY

...возвращает все места, имеющие ссылку на слово Google в радиусе 50 км от Мельбурна.Чтобы сузить результаты, добавьте фильтр type, чтобы выбрать только те типы заведений, которые вам нужны, как в примере с больницей.

См. Эту ссылку для всех поддерживаемых типов ...

https://developers.google.com/places/web-service/supported_types

Не уверен, что это то, что вам нужно, но я надеюсь, что это поможет.

...