Current section
Files
Jump to
Current section
Files
lib/here_maps/reverse_geocode.ex
defmodule HereMaps.ReverseGeocode do
@moduledoc false
alias HereMaps.{Request}
@base_url "https://reverse.geocoder.cit.api.here.com/6.2/reversegeocode.json"
def call(location, params \\ %{}) do
case Request.get(@base_url, reverse_geocode_params(location, 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 reverse_geocode_params(location, params) do
%{
prox: location,
mode: "retrieveAddresses",
maxresults: 1,
gen: 8
} |> Map.merge(params)
end
end