Current section
Files
Jump to
Current section
Files
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