2013-12-08 48 views
0

我對RoR是全新的(目前使用Ruby 1.9.3和Rails 3.2.16)。在過去的幾天裏,我已經閱讀了很多關於如何使用rails的教程和電子書。GEOCODER:獲取用戶地理位置以生成位置屬性在rails中的狀態更新3

現在我想爲多個用戶(旅行日記對我和我的朋友)創建一種博客,自動獲取用戶位置(IP地址)。這應該用於編寫自動繼承用戶位置的狀態更新。但它應該在特定時間段內更新用戶位置,以確保用戶何時移動下一個狀態更新將獲得不同的位置。例如用戶1:「我在超市」 - 第4大道,紐約 .... 10分鐘後用戶1:「現在我站在巴士站下方的街區」 - 第5大道,紐約

其他功能應該是.find或.where方法顯示在實際用戶位置附近的特定位置進行的所有狀態。

我知道如何使用設計製作一個簡單的博客並向其添加狀態模型,但是我不知道如何在其中實現地理編碼功能。計劃在整個地理編碼過程中使用https://github.com/alexreisner/geocoder

我希望有你的回報率利弊可以幫助我解決這個問題,或者至少給我一個提示如何實現它:))

編輯: 我想我已經找到了一個教程適合我的需求。只有兩件事。我不想要包含地圖,我想將地理數據(位置,經緯度和長度)存儲在數據庫中。你們中的任何人都可以告訴我哪些代碼可以刪除,以及我可以如何解析json到「位置」數據庫? http://de.slideshare.net/nebirhos/geolocation-on-rails

回答

1

你應該看看客戶端地理編碼與服務器端。你將需要做一個反向地理編碼;即用經緯度獲取用戶的位置並將其轉換爲地址。

所以基本上你可以擔心你的應用程序建成後。

如果你去的地理編碼器路線包括緯度和經度字段和一個IP地址。用戶也可以通過ip進行反向地理編碼。

所以爲了簡單起見,說你目前有一個Post模型。這後通常會有一個

ipaddress:string title:string post:string latitude:string longitude:string 

Ruby的地理編碼器已經爲我工作不錯,但我計劃在我的下一個重構去客戶端。

這裏是谷歌推薦的地理編碼策略。這可能是非常有益的

https://developers.google.com/maps/articles/geocodestrat

編輯用戶需要更多的信息

下面是用戶模型IP申請的紅寶石地理編碼器的例子:

應用程序/模型/用戶。RB

geocoded_by :ip_address, 
    :latitude => :lat, :longitude => :lon 
    after_validation :geocode 

結帳的主要場所了很多有用的信息:http://www.rubygeocoder.com/

,也有看看railscasts地理編碼視頻。由於您使用的是舊版本的Ruby和Rails,因此這些資源應該特別有用。 9塊錢將是值得的。

http://railscasts.com/episodes/273-geocoder

+0

謝謝大家的響應速度快:)是我的崗位模型看起來很像這個我不唯一得到的是哪兒做我必須實現request.ip或request.address命令有一些可以存儲在後期模型中的數據? :)一個簡短的代碼例子會非常好。編輯:我目前正在通過jqeury閱讀關於地理編碼的內容,以獲取並觀看用戶的位置。這比使用簡單的geocoder gem更值得推薦嗎? – user3079933

+0

是的,客戶端通過javascript幾乎總是被推薦。 以下是關於地理編碼的Google部分:https://developers.google.com/maps/documentation/geocoding/#ReverseGeocoding – nil

+0

@ user3079933,我已經用一些更多細節更新了我的答案。我會在稍後檢查這件事情,做些事情。此外,如果您在討論客戶端與服務器端的關係,那麼這個Google策略是一個非常適合開始的地方:https://developers.google.com/maps/articles/geocodestrat - 保持發佈狀態,我們很樂意幫助您方式!快樂的編碼! – nil

相關問題