我想要与Google在搜索特定查询时给出的查询结果相同的结果

时间:2019-01-10 18:18:31

标签: javascript c# web-services google-places-api

我正在使用Google Place API根据我的查询获取地点列表,但是我没有得到与Google相同的列表。实际上,我对于应该在Google Place API中进行邻近搜索还是文本搜索感到困惑。

正如我所提到的,我得到的结果与Google地图给出的查询结果不同。我也提供了位置。

https://maps.googleapis.com/maps/api/place/textsearch/json?location=22.258651999999998,71.1923805&query=cafe&key=API_KEY

与Google搜索相比,此API调用给我带来了不同的结果,并且给定的位置也是我在Google中搜索时的当前位置。因此,如果我通过当前位置,那么我认为两者的结果应该相同,但我没有得到。

1 个答案:

答案 0 :(得分:0)

Google Places API不会返回与使用Google Maps搜索相同的结果。我假设这就是您“在Google中搜索”的意思。我们不确定Google Maps的搜索算法是什么,它们不会告诉我们。

Places API响应取决于请求的类型(查找地点,附近,文本)和您提供的参数。我也一直在努力寻找合适的组合来获得与Google Maps相同的结果。

我在Google地图上搜索了您指定的经度/纬度以及附近的咖啡馆。我可以通过以下场所请求获得几乎相同的咖啡馆列表:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=22.258651999999998,71.1923805&keyword=cafe&rankby=distance&key=API_KEY

对此请求的前6个回复列出了与Google Maps相同的业务,并以相同的顺序列出。其余回复都是咖啡馆类型的商家,与Google Maps列出的商家相同,但顺序不同。地方信息响应排除了出现在Google Maps列表中的餐厅型企业,这是一个更好的响应。

请注意,我使用了附近搜索来获得这些结果。它更适合您的用例。进行含糊的地址查询时,根据Places API文档进行的Textsearch最为有用。