Packages

Elixir-wrapper for Google Directions API. Can return the drive time and driving distance between two places.

Current section

Files

Jump to
distancex lib results.ex
Raw

lib/results.ex

defmodule Distancex.Result do
defstruct [:distance, :duration]
end
defmodule Distancex.Results do
@no_results %{
"rows" => [ %{"elements" => [ %{"status"=> "ZERO_RESULTS"}] } ]
}
def parse(@no_results) do
{:error, "No results found"}
end
def parse(%{"rows" => [%{"elements" => ele }] }) do
[
%{
"distance" => %{
"value" => dist_value,
"text" => dist_text
},
"duration" => %{
"value" => dur_value,
"text" => dur_text
}
}
] = ele
%Distancex.Result{
distance: %{text: dist_text, value: dist_value},
duration: %{text: dur_text, value: dur_value},
}
end
def parse(%{"status" => "REQUEST_DENIED", "error_message" => msg}) do
{:error, msg}
end
end