带有Location Bias的Google Places API返回单项结果

时间:2019-04-09 05:41:33

标签: google-maps google-places-api

我当时使用Google Maps API来辅助位置搜索,但是出乎意料的是,对于非常普通的搜索,它只能得到一个遥远的结果。因此,由于locationbias,我改用Google Places API,但是现在Google Places似乎只返回一个位置,并且不使用位置偏差将位置范围缩小到给定的经度和半径。

示例:

  

文本搜索=“ 123 Main St”
  圆半径= 16000米(10英里)
  纬度/经度= 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号”

{
   "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"
}

我希望它会返回尊重locationbias的单个结果(康涅狄格州哈特福德市Main St 123号),或者返回最接近康涅狄格州哈特福德的众多结果。

那么如何将Google Places API与locationbias一起使用以返回预期结果?或如何在Google Maps API中包含某种类型的位置偏差。

1 个答案:

答案 0 :(得分:2)

只需对此回答(注意OP的注释):

textquery接受locationradius

以下查询在第二个结果上返回所需的地址:

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