HTTParty Google 映射起点和终点之间的方向。

HTTParty Google maps directions between origin and destination.

我的目标:http://maps.googleapis.com/maps/api/directions/json?origin=montreal&destination=toronto&sensor=false

我的class:

class GoogleMap
  include HTTParty
  base_uri 'http://maps.googleapis.com'

  attr_accessor :origin, :destination

   def initialize(service, page)
    @options = { query: {origin: origin, destination: destination} }
  end

  def directions
    self.class.get("/maps/api/directions/json", @options)
  end
end

当前,当我在控制台上 运行 时:

irb(main):001:0> g = GoogleMap.new("montreal", "toronto")
=> #<GoogleMap:0x007fcaeeb88538 @options={:query=>{:origin=>nil, :destination=>nil}}>
irb(main):002:0> g.directions
=> #<HTTParty::Response:0x7fcaeeb60b00 parsed_response={"error_message"=>"Invalid request. Missing the 'origin' parameter.", "routes"=>[]...

问题是:{:query=>{:origin=>nil, :destination=>nil}}起点和终点为零。

我想知道我将如何实现:

irb(main):001:0> g = GoogleMap.new("montreal", "toronto")
=> #<GoogleMap:0x007fcaeeb88538 @options={:query=>{:origin=>montreal, :destination=>toronto}}

然后当我 运行:

g.directions 我得到 http://maps.googleapis.com/maps/api/directions/json?origin=montreal&destination=toronto&sensor=false

的输出

提前谢谢你。

我想你可能想改变你的

def initialize(service, page)

def initialize(origin, destination)

或者您可以在调用 g.directions

之前执行 g.origin = "montreal"g.destination = "toronto"