如何使用地理编码器和其他搜索工具搜索附近的数据?

How to search nearby data with geocoder and other search tool?

我在 Rails 项目中使用 geocoder ruby gem。现在想获得附近的位置搜索结果。搜索 gem 使用 nazrin,它在 AWS 上运行 CloudSearch。所以下面的方法是我尝试过的:

City.near([39.905, 116.39139], 10).search.size(20).start(1).query('Hotel').execute

没用。它返回了所有结果,但不在指向的位置([39.905, 116.39139])附近。

好像near([39.905, 116.39139], 10)不符合后面的搜索方式。但是如果使用 Spot.near([39.905, 116.39139], 10) 本身,可以在 [39.905, 116.39139].

附近获取数据

那么,如何搭配使用呢?

可以使用Google地图API

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670,151.1957&radius=500&types=food&key=API_KEY

按位置类型查找附近的位置。例如上面的 api types=food。这将提供 500 米半径范围内的所有附近酒店、食品店等。