Class: TravelTimeAPI
- Inherits:
-
Object
- Object
- TravelTimeAPI
- Defined in:
- lib/traveltime_api.rb
Overview
Class for using TravelTime API service. Learn more about TravelTime at www.traveltimeapp.com
## Defined types ##
-
TransportationMode - string with one of following values:
“walking”, “driving”, “walking_train”, “walking_bus”, “public_transport”
-
EdgeType - describes type of the edge. String with one of following values:
“car”, “walk”, “train”, “bus”, “cable_car”, “plane”, “ship”
## Thrown errors ##
Each method that does a call to the server can raise TravelTimeAPI::BadRequest or TravelTimeAPI::ServerError errors.
Defined Under Namespace
Classes: BadRequest, NoData, RoutesResult, ServerError, TimeFilterResult, TimeMapResult
Constant Summary collapse
- DEFAULT_URL =
"http://api.traveltimeapp.com"
Instance Method Summary collapse
-
#initialize(api_key, url = DEFAULT_URL) ⇒ TravelTimeAPI
constructor
Initializes API.
-
#routes(start_time, travel_time, mode, origin, points) ⇒ TravelTimeAPI::RoutesResult
Takes input parameters and returns routes to each of the points within travel_time.
-
#time_filter(start_time, travel_time, mode, origin, points) ⇒ TravelTimeAPI::TimeFilterResult
Takes input parameters and returns how long does it take to reach each point in chosen mode of transportation (in seconds).
-
#time_map(start_time, travel_time, mode, origin, smooth) ⇒ TravelTimeAPI::TimeMapResult
Takes input parameters and returns polylines for each cluster that you can reach by given time.
Constructor Details
#initialize(api_key, url = DEFAULT_URL) ⇒ TravelTimeAPI
Initializes API. You need to specify your API key here.
89 90 91 92 |
# File 'lib/traveltime_api.rb', line 89 def initialize(api_key, url=DEFAULT_URL) @api_key = api_key @url = url end |
Instance Method Details
#routes(start_time, travel_time, mode, origin, points) ⇒ TravelTimeAPI::RoutesResult
Takes input parameters and returns routes to each of the points within travel_time.
Input parameters are the same as #travel_time.
146 147 148 149 150 151 152 153 154 155 156 157 |
# File 'lib/traveltime_api.rb', line 146 def routes(start_time, travel_time, mode, origin, points) request = { :start_time => format_time(start_time), :travel_time => travel_time, :mode => mode, :origin => origin, :points => points } response = post("/v2/routes", request) RoutesResult.new(response) end |
#time_filter(start_time, travel_time, mode, origin, points) ⇒ TravelTimeAPI::TimeFilterResult
Takes input parameters and returns how long does it take to reach each point in chosen mode of transportation (in seconds).
Points whose travel times which exceed travel_time are not included in the result.
106 107 108 109 110 111 112 113 114 115 116 117 |
# File 'lib/traveltime_api.rb', line 106 def time_filter(start_time, travel_time, mode, origin, points) request = { :start_time => format_time(start_time), :travel_time => travel_time, :mode => mode, :origin => origin, :points => points } response = post("/v2/time_filter", request) TimeFilterResult.new(response["times"], response["accuracy"].to_sym) end |
#time_map(start_time, travel_time, mode, origin, smooth) ⇒ TravelTimeAPI::TimeMapResult
Takes input parameters and returns polylines for each cluster that you can reach by given time.
128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/traveltime_api.rb', line 128 def time_map(start_time, travel_time, mode, origin, smooth) request = { :start_time => format_time(start_time), :travel_time => travel_time, :mode => mode, :origin => origin, :smooth => smooth } response = post("/v2/time_map", request) TimeMapResult.new(response["shape"], response["accuracy"].to_sym) end |