无法使用Google Api按距离订购结果

时间:2018-05-02 11:41:46

标签: javascript google-maps google-maps-api-3 google-api

我正在调用此网址:https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=60.16915,24.9293937&radius=20000&keyword=k+rauta&rankBy=distance&key=KEY

出于某种原因,我无法通过最近的商店订购结果。 就像来自https://developers.google.com/maps/documentation/javascript/places#place_search_requests的文档一样,我添加了 rankBy = distance ,但似乎结果没有正确排序!

我也删除了radius参数,但后来我找不到任何结果!

知道我在这里缺少什么吗?

1 个答案:

答案 0 :(得分:1)

如果我阅读你提到的文件:

  

google.maps.places.RankBy.DISTANCE。此选项按照与指定location(必需)的距离按升序对结果进行排序。 请注意,如果您指定bounds,则无法指定自定义radius和/或RankBy.DISTANCE 。指定RankBy.DISTANCE时,需要keywordnametype中的一个或多个。

使用上述内容调整您的请求,它将起作用。

修改

你显然混合了两种不同的东西(抱歉,我最初没有看到它)。您指向文档链接的位置,以及Places API Web Service这是另一回事。

它们都非常相似,但至少有一个区别:Web服务中的rankBy参数为rankby。请注意大写/小写B

这样可行:https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=60.16915,24.9293937&keyword=k+rauta&name=k+rauta&type=hardware_store&rankby=distance&key=your_api_key

另请注意,您的上一次尝试(评论中的链接)会返回INVALID_REQUEST而非ZERO_RESULTS或其他任何可以帮助您了解您的请求有问题的内容,而不是那里的事实没有数据可以返回...