Packages

Here Maps API wrapper in Elixir

Current section

Files

Jump to
ex_heremaps lib here_maps geocode.ex
Raw

lib/here_maps/geocode.ex

defmodule HereMaps.Geocode do
@moduledoc false
alias HereMaps.{Request}
@base_url "https://geocoder.cit.api.here.com/6.2/geocode.json"
def call(query, params \\ %{}) do
case Request.get(@base_url, geocode_params(query, params)) do
{:ok, %HTTPoison.Response{status_code: 200, body: body}} ->
body = body |> Poison.Parser.parse!
result = body |> Map.get("Response") |> Map.get("View") |> Enum.at(0) |> Map.get("Result")
{:ok, result }
{:error, %HTTPoison.Error{reason: reason}} ->
{:error, reason}
end
end
defp geocode_params(query, params) do
%{ searchtext: query } |> Map.merge(params)
end
end