GeoRSS aggregator and Layar augmented reality server
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 

27 righe
511 B

  1. class Post
  2. include MongoMapper::Document
  3. key :title, String
  4. key :url, String
  5. key :author, String
  6. key :summary, String
  7. key :content, String
  8. key :published, Time
  9. key :loc, Hash # { lng, lat }
  10. timestamps!
  11. ensure_index [[:loc, '2d']]
  12. belongs_to :feed
  13. EARTH_RADIUS_M = 6378000
  14. def self.near(lat, lng, radius_m)
  15. all(
  16. :loc => {
  17. '$nearSphere' => [ lng, lat ],
  18. '$maxDistance' => radius_m / EARTH_RADIUS_M
  19. })
  20. end
  21. end