我聽說過Geocoder和Geokit但我知道的是,他們只在我們提供其功能的某些參數時才起作用。城市/國家名稱或位置座標。但我想要的是讓我自己的位置在任何寶石上的軌道上紅寶石'Area name'
或latitude
或longitude
。不建議request.location,因爲它給我的本地主機地址,而不是我的Internet IP。所以PLZ建議任何合理的,因爲我完全嚇壞了獲取位置座標在軌道上的紅寶石
回答
你可以使用
ip = request.remote_ip
或
的IPip = request.env['REMOTE_ADDR']
,或者如果你正在使用devise
進行用戶身份驗證,你可以只是通過devise
使用Geocoder
的search
方法獲取位置和座標。
location = Geocoder.search(ip)
country = location["country_name"]
state = location["region_name"]
city = location["city"]
zipcode = geoloc["zipcode"]
latitude = geoloc["latitude"]
longitude = geoloc["longitude"]
area_code = geoloc["area_code"]
爲什麼要設計獲取IP? –
我只是在詢問他是否已經在使用'devise',但如果不是這樣只是通過ip請求'request.env ['REMOTE_ADDR']' –
但是爲了這個目的我們需要用戶的ip,我們不需要有和現在'request.env ['REMOTE_ADDR']'告訴我們'127.0.0.1' – ImranNaqvi
@ImranNaqvi它發生在你使用本地時,請看這裏http://stackoverflow.com/questions/6115589/geocoder -how-to-test-locally-when-ip-is-127-0-0-1?lq = 1 –
我討厭它;( - 但我找到了一個解決方案,我將在稍後解釋 – ImranNaqvi
- 1. 紅寶石在軌道上的寶石
- 2. 軌道上的紅寶石(amistad寶石)
- 3. 紅寶石 - 獲取鼠標座標
- 4. 在軌道上的紅寶石rhotoalbum
- 5. 在軌道上的紅寶石jquery
- 6. str_to_date在軌道上的紅寶石?
- 7. 在軌道上的紅寶石鏈接
- 8. Suburl在軌道上的紅寶石
- 9. 在軌道上的紅寶石Jquery Tablesorter
- 10. sqlite3安裝軌道上的紅寶石的位置
- 11. 在軌道上的紅寶石獲取HTML代碼
- 12. 在軌道上導出Excel紅寶石
- 13. 在軌道上加密紅寶石
- 14. 在軌道上用紅寶石開始
- 15. 在軌道上插入MySql紅寶石
- 16. 在軌道上構建SQL紅寶石
- 17. wordpress和紅寶石在軌道上
- 18. 紅寶石在軌道上nil.to_sym錯誤
- 19. 陣列紅寶石在軌道上
- 20. 在軌道上重構紅寶石
- 21. 用紅寶石在軌道上獲取用戶IP
- 22. 本地化軌道紅寶石寶石
- 23. 軌道上的紅寶石I18環
- 24. 軌道上的紅寶石has_many驗證
- 25. 軌道上的回形針紅寶石
- 26. 軌道上的紅寶石URL驗證
- 27. 軌道上的紅寶石check_box
- 28. 軌道上的紅寶石1.2.6和ActiveMerchant
- 29. 軌道上的紅寶石ActionMailer錯誤
- 30. cakephp或軌道上的紅寶石
不能在本地測試沒有通過一些假的IP地址,請檢查該【答案】(HTTP ://stackoverflow.com/a/17034967/3863146),還有一件事,你只能提出一些有限的獲取用戶位置的請求,之後你將開始收到錯誤消息。你也可以捕獲這個異常,但最終只允許有限的請求。 – sahil
謝謝sahil我認爲127.0.0.1將繼續,直到我們在當地,所以我們必須提供IP作爲回答提及 – ImranNaqvi
結帳[這](https://github.com/alexreisner/geocoder#google-google)同時選擇您想要用於確定位置的服務。 – sahil