我想要使用HTML5地理位置獲取用戶的座標並將它們發送給幫助程序方法。 Geocoder gem不是一個選項,因爲IP地理位置對於我的應用程序來說不夠準確。將HTML5地理位置傳遞給控制器
這可能嗎? 我使用CoffeeScript的纖薄琅
我的助手方法,位於application_helper.rb:
def get_station(location)
type = not relevant
key = not relevant
radius = 5000
url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=#{location}&radius=#{radius}&type=#{type}&key=#{key}"
data = JSON.load(open(url))["results"][0]["name"]
end
在我看來,CoffeeScript的部分(.slim模板):
set_location = ->
if (navigator.geolocation)
navigator.geolocation.getCurrentPosition(setLocation);
setLocation = (position) ->
coords = position.coords.latitude + ", " + position.coords.longitude;
我在發帖之前回顧的主題:
- Get rails view helper methods inside coffeescript
- HTML5 Geolocation In Rails
- A rails app which gets users location using HTML5 geolocation and saves to data base
- Storing HTML5 geolocation data
- https://github.com/joofsh/geofsh
是啊,我應該提到,我試過了,並沒有設法使這個請求因爲它是跨域的,而且每種解決方法都無效。我打開了一個不同的線程... – MaxDBN
然後設置您的Rails應用程序來代理請求。你需要一個控制器動作和一個路線 - 而不是幫手。但是如果你不能對谷歌地圖API進行跨域請求,它會發送非常錯誤的東西 - 它會發送CORS頭文件。 – max
你能再解釋一下嗎?這裏是我關於CORS的問題http://stackoverflow.com/questions/37255085/rails-cross-domain-ajax-get-request-cors – MaxDBN