我在我的应用程序中遇到了一个小问题。我目前正在使用 geokit 来查找给定位置附近的对象,并在搜索结果上使用 sort_by_distance_from。

见下文:

@find = Item.find(:all, :origin =>[self.geocode.lat.to_f,self.geocode.lng.to_f], :within=>50, :include=>[:programs], :conditions=>["programs.name = ?", self.name])
  @find.sort_by_distance_from([self.geocode.lat.to_f,self.geocode.lng.to_f]

按距离排序时,geokit 有什么办法可以对数据库进行分页吗?

AKA,不是调用完整的搜索结果集?

最佳答案

距离列不再起作用:



对于 where 和 order 子句,它的行为方式相同。

人们希望构建这样的查询:

scoped  = Location.geo_scope(:origin => @somewhere)
scoped  = scoped.where('distance <= 5')
results = scoped.all

这现在是不可能的,它必须像这样一步完成:
scoped = Location.within(5, :origin => @somewhere)
results = scoped.all

github.com/geokit/geokit-rails

10-08 02:55