Почему, если я ищу точный адрес ресторана, API мест не возвращает связанную информацию для этого ресторана? - PullRequest
0 голосов
/ 25 сентября 2018

Почему, если я ищу точный адрес для ресторана, API мест не возвращает связанную информацию для этого ресторана?

Например, это адрес McDonald's, извлеченный из поиска в Google: «146 Tremont St, Boston, MA 02111».

Если я выполню поиск в Google Places API, он не вернет, что это адрес для McDonald's, как я и ожидал.

https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJgdzSI51w44kRROxVqUqfoAg&fields=name,types,website&key=

Внешний поиск Google:

enter image description here

1 Ответ

0 голосов
/ 26 сентября 2018

Действительно, идентификатор места ChIJgdzSI51w44kRROxVqUqfoAg имеет тип premise, поэтому он представляет не бизнес, а только здание на карте.

Чтобы решить вашу проблему, я бы предложил использовать Поиск мест запросов от веб-службы API Адресов.Таким образом, вы можете отправить запрос

https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=146%20Tremont%20St%2C%20Boston%2C%20MA%2002111&inputtype=textquery&fields=formatted_address,geometry,name,place_id&key=YOUR_API_KEY

Этот запрос вернет следующий ответ

{
  "candidates":[
    {
      "formatted_address":"146 Tremont St, Boston, MA 02111, USA",
      "geometry":{
    "location":{
      "lat":42.3552225,"lng":-71.0630429
    },
    "viewport":{
      "northeast":{
        "lat":42.35661577989272,"lng":-71.06177427010728
      },
      "southwest":{
        "lat":42.35391612010728,"lng":-71.06447392989273
      }
    }
      },
      "name":"McDonald's",
      "place_id":"ChIJe645PYNw44kR_0ilqhElTKw"
    }
  ],
  "debug_log":{
    "line":[

    ]
  },
  "status":"OK"
}

Как вы можете видеть, это ожидаемое место Макдональдса.

Надеюсь, это поможет!

...