我当时使用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中包含某种类型的位置偏差。
答案 0 :(得分:2)
只需对此回答(注意OP的注释):
textquery接受location
和radius
以下查询在第二个结果上返回所需的地址: