21 lines
616 B
Ruby
21 lines
616 B
Ruby
require 'net/http'
|
|
|
|
HOST = "http://127.0.0.1:#{OSRM_PORT}"
|
|
|
|
def request_matching trace=[], timestamps=[], options={}
|
|
defaults = { 'output' => 'json', 'instructions' => 'true' }
|
|
locs = trace.compact.map { |w| "loc=#{w.lat},#{w.lon}" }
|
|
ts = timestamps.compact.map { |t| "t=#{t}" }
|
|
if ts.length > 0
|
|
trace_params = locs.zip(ts).map { |a| a.join('&')}
|
|
else
|
|
trace_params = locs
|
|
end
|
|
params = (trace_params + defaults.merge(options).to_param).join('&')
|
|
params = nil if params==""
|
|
|
|
uri = generate_request_url ("match" + '?' + params)
|
|
response = send_request uri, trace, options, timestamps
|
|
end
|
|
|