Geocoder

A simple, efficient geocoder/reverse geocoder with a built-in cache.

Is it extensible? Yes. Is it any good? Absolutely.

Installation

Keep calm and add Geocoder to your mix.exs dependencies:

def deps do
  [{:geocoder, "~> 0.1"}]
end

Add it to your starting applications too:

def application do
  [applications: [:logger, :geocoder]]
end

Let’s rumble!

Usage

Geocoder.geocode("Toronto, ON")
Geocoder.reverse_geocode({43.653226, -79.383184})

# Or use Geocoder.call, which calls the above depending on
# whether a string was passed in or a 2-tuple

And you’re done! How simple was that?

Note: It is possible to switch out Geocoder’s built-in store or the default provider (currently Google Maps) by passing in different arguments to Geocoder.start, but those docs will come later. The store/provider must implement a specific API.