View Source Geocoder.Provider behaviour (geocoder v2.2.1)

Specifies expected behaviour for a provider

Summary

Types

option()

@type option() ::
  {:json_codec, atom()}
  | {:http_client, atom()}
  | {:http_client_opts, term()}
  | {:key, binary()}
  | {:data, term()}

options()

@type options() :: [option()]

payload()

@type payload() :: keyword()

Callbacks

geocode(payload, options)

@callback geocode(payload(), options()) :: {:ok, Geocoder.Coords.t()} | {:error, any()}

geocode_list(payload, options)

@callback geocode_list(payload(), options()) ::
  {:ok, Geocoder.Coords.t()} | {:error, any()}

reverse_geocode(payload, options)

@callback reverse_geocode(payload(), options()) ::
  {:ok, Geocoder.Coords.t()} | {:error, any()}

reverse_geocode_list(payload, options)

@callback reverse_geocode_list(payload(), options()) ::
  {:ok, Geocoder.Coords.t()} | {:error, any()}