README.md

# Distancex

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

A sample [http request and the corresponding json response](https://maps.googleapis.com/maps/api/distancematrix/json?origins=2+BC&destinations=San+Francisco)

## Installation

Add distancex to your list of dependencies in `mix.exs`:

```elixir
def deps do
 [{:distancex, "https://github.com/vysakh0/distancex"}]
end
```
 Install the package

```bash
mix deps.get
```


### Config

```elixir
#config.exs

config :distancex, api_key: "YourAPIKEY"
```


## Usage

  The origin and destinations can be either a place name or a combo of latitude and longitude.

```elixir
$ iex -S mix
iex> Distancex.distance("Vancouver", "San Francisco")
#=> 1529113
iex> Distancex.duration("Vancouver", "San Francisco")
#=> 53750
iex> Distancex.distance("49.2827N,123.1207W", "7.7833N,122.4167W")
#=> 1529113
iex> Distancex.duration("49.2827N,123.1207W", "7.7833N,122.4167W")
#=> 53750
```

### Invalid key

```elixir
$ iex -S mix
iex> Distancex.distance("Vancouver", "San Francisco")
#=> {:error, "The provided API key is expired."}
```

- Create a project in [google developer console](https://console.developers.google.com/)
- Enable distance matrix api for that project.
- Get API key


*"Everything we hear is an opinion, not a fact. Everything we see is a perspective, not the truth."
― Marcus Aurelius, Meditations*