我是RoR的新手(目前使用的是Ruby 1.9.3和Rails 3.2.16)。在过去的几天里,我已经阅读了很多关于如何使用rails的教程和电子书。
现在我想为多个用户(我和我的朋友的旅行日志)创建某种博客,自动获取用户位置(IP地址)。这应该用于编写自动继承用户位置的状态更新。但它应该在一定时间内更新用户位置,以确保用户何时移动下一个状态更新将获得不同的位置。例如用户1:“我在超市” - 纽约第四大道 .... 10分钟后用户1:“现在我站在街区的公交车站” - 纽约第五大道
其他功能应该是.find或.where方法,以显示在实际用户位置附近的特定位置发出的所有状态。
我知道如何使用设计和添加状态模型制作一个简单的博客,但我不知道如何将地理编码功能实现到该博客中。计划使用https://github.com/alexreisner/geocoder进行整个地理编码过程。
我希望你的一些RoR专业人员可以帮助我解决这个问题,或者至少给我一个如何实现它的提示:))
修改 我想我找到了一个符合我需求的教程。只有两件事。我不想要包含地图,我想将地理数据(location,lat和lng)存储在数据库中。谁能告诉我我可以删除哪部分代码以及如何将json解析到“位置”数据库? http://de.slideshare.net/nebirhos/geolocation-on-rails
答案 0 :(得分:1)
您应该考虑客户端地理编码与服务器端。你需要做一个反向地理编码;这是用纬度和经度抓取用户的位置并将其转换为地址。
因此,基本上您可以在构建应用程序后担心这一点。
如果您使用地理编码器路线,则包含纬度和经度字段以及IP地址。用户也可以通过ip进行地理编码。
因此,为简单起见,您说目前有一个Post模型。该帖子通常会有一个
ipaddress:string title:string post:string latitude:string longitude:string
Ruby Geocoder对我很有帮助,但我计划在下一个重构方面做客户端。
以下是 Google推荐的地理编码策略。这可能非常有用
https://developers.google.com/maps/articles/geocodestrat
编辑 用户需要更多信息
以下是Ruby Geocoder在用户模型上的ip请求示例:
geocoded_by :ip_address,
:latitude => :lat, :longitude => :lon
after_validation :geocode
在主网站上查看大量有用信息:http://www.rubygeocoder.com/
还可以看看railscasts Geocoder Video。由于您使用旧版本的ruby和rails,这些资源应该特别有用。 9块钱将是值得的。