Google Places API со смещением местоположения возвращает один отдаленный результат - PullRequest
2 голосов
/ 09 апреля 2019

Я использовал Google Maps API для помощи в поиске местоположения, но неожиданно получил один отдаленный результат для очень общих поисков. Поэтому я перешел на использование Google Places API из-за locationbias, но теперь Google Places, похоже, возвращает только одно местоположение и не использует смещение местоположения, чтобы сузить местоположение до заданных широты и радиуса долготы.

Пример:

Текстовый поиск = "123 Main St"
Радиус круга = 16000 метров (10 миль)
Lat / Long = 41,761898, -72,674596 (Хартфорд, Коннектикут)

https://maps.googleapis.com/maps/api/place/textsearch/json?inputtype=textquery&key=[KEY]&locationbias=circle:16000@41.761898,-72.674596&query=123+Main+St

Результат:

"123 Main St, Сан-Франциско, Калифорния"

{
   "html_attributions" : [],
   "results" : [
      {
         "formatted_address" : "123 Main St, San Francisco, CA 94105, USA",
         "geometry" : {
            "location" : {
           "lat" : 37.7917688,
                   "lng" : -122.3944272
            },
            "viewport" : {
               "northeast" : {
                  "lat" : 37.79301167989272,
                  "lng" : -122.3931579701073
               },
               "southwest" : {
                  "lat" : 37.79031202010728,
                  "lng" : -122.3958576298927
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png",
         "id" : "596b2040c5c04babad99f2c1adcba7e943324bbb",
         "name" : "123 Main St",
         "place_id" : "ChIJZRkIYGSAhYARyXebnnhvMC0",
         "plus_code" : {
            "compound_code" : "QJR4+P6 SoMa, San Francisco, CA, USA",
            "global_code" : "849VQJR4+P6"
         },
         "reference" : "ChIJZRkIYGSAhYARyXebnnhvMC0",
         "types" : [ "street_address" ]
      }
   ],
   "status" : "OK"
}

Я ожидаю, что он выдаст либо один результат (123 Main St, Hartford Connecticut) с учетом locationbias, либо множество результатов, начиная с ближайшего к Hartford, Connecticut.

Так как же использовать Google Places API с locationbias для получения ожидаемого результата? Или как я могу включить какой-либо тип смещения местоположения в API Карт Google.

1 Ответ

2 голосов
/ 12 апреля 2019

Просто чтобы поставить ответ на это (комментарий ОП отмечен):

textquery принимает location и radius

Следующий запрос возвращает желаемый адрес для второго результата:

https://maps.googleapis.com/maps/api/place/textsearch/json?inputtype=textquery&key=API_KEY&location=41.761898,-72.674596&radius=16000&query=123+Main+St

...