我使用Ruby Geocoder gem并提出了一个简单的问题。
如果我通过javascript + Google Maps在客户端上获取lat / lon坐标,然后将它们保存到我的数据库,那么.near()和.nearbys()之类的方法如何工作?这些是严格的postgres查询还是远程查找?
我想避免使用Google Maps API查询限制,这就是我这样做的原因。基本上,我从不希望我的后端调用API,我只是希望客户端发送地址+相应的获取坐标,并将此gem用于仅限数据库的本地查询。
这基本上是如何使用这个宝石的吗?
答案 0 :(得分:0)
查看源代码,他们应该只进行数据库调用。尽我所能,你只能通过Geocoder :: Query进行远程调用。
https://github.com/alexreisner/geocoder/blob/master/lib/geocoder/stores/active_record.rb#L43 https://github.com/alexreisner/geocoder/blob/master/lib/geocoder/stores/active_record.rb#L119
答案 1 :(得分:0)
这种查询(near和nearbys)通常作为数据库功能包含在内。例如,Mongodb包含它们。您应该查看数据库的文档。
您不需要geocoder gem。地理编码器用于与Google地图等api进行交互,或执行数据库中未包含的常见任务。