Skip to content

daveashenden/geocoder

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Geocoder Build Status

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.7"}]
end

Add it to your starting applications too:

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

Set pool configuration:

config :geocoder, :worker_pool_config, [
  size: 4,
  max_overflow: 2
]

Set provider configuration:

config :geocoder, :worker, [
  provider: Geocoder.Providers.GoogleMaps # is the default, or OpenStreetMaps
]

If you need to set a proxy (or any other option supported by HTTPoison.get/3):

config :geocoder, Geocoder.Worker, [
  httpoison_options: [proxy: "my.proxy.server:3128", proxy_auth: {"username", "password"}]
]

Let's rumble!

Usage

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

You can pass options to the function that will be passed to the geocoder provider, for example:

Geocoder.call(address: "Toronto, ON", language: "es", key: "...", ...)

See here and here for a list of supported parameters for the default geocoder provider (Geocoder.Provider.GoogleMaps).

And you're done! How simple was that?

About

An elixir Geocoder/Reverse Geocoder

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 100.0%