【发布时间】:2018-01-22 22:33:00
【问题描述】:
我的 Rails 应用程序中有一个功能,我想重定向到 google 路线 url (https://www.google.com/maps/dir/?api=1) 并获取从当前位置到目的地的路线。我正在尝试根据谷歌地图 API here 来实现这一点。不幸的是,这不起作用,它确实重定向到 google url,但它没有传递参数以正确设置方向。
这是我的设置:
链接以及 google 需要的参数以使其正常工作:
<%= link_to 'Directions', initialize_path(:origin => @origin, :destination => @destination), method: :get %>
路线:
get 'initialize' => 'pages#initialize', :as => 'initialize'
重定向到 google url 并传递所需参数的方法:
def initialize
redirect_to generate_url('https://www.google.com/maps/dir/?api=1',
{ :origin=> params[:origin], :destination => params[:destination] })
end
助手:
def generate_url(url, parameters ={})
uri = URI(url)
uri.query = parameters.to_query
uri.to_s
end
控制台显示 params 不是 nil 并且它们实际上正在传递:
`Started GET "/initialize? destination=40.712775%2C-74.005973&origin=40.720341%2C-74.044847" for 127.0.0.1 at 2018-01-21 17:53:55 +0200
Processing by PagesController#initialize as HTML
Parameters: {"authenticity_token"=>"50liTLXVpXgGcLxEzFHRMZ0FNQ5eyvoAY8+qSb6LJ549BitH1Li91QcnKWggoQbzrdPrEDrotT2pVvEiDdiTAg==", "destination"=>"40.712775, -74.005973", "origin"=>"40.720341,-74.044847"}
Redirected to https://www.google.com/maps/dir/?destination=40.712775%2C-74.005973&origin=40.720341%2C-74.044847
Completed 302 Found in 0ms (ActiveRecord: 0.0ms)`
关于如何解决这个问题的任何想法?
【问题讨论】:
标签: ruby-on-rails google-maps google-maps-api-3