mirror of
https://github.com/owntracks/recorder.git
synced 2024-11-15 18:08:28 -07:00
38 lines
834 B
Lua
38 lines
834 B
Lua
-- https://github.com/nmdguerreiro/lua-opencage-geocoder
|
|
-- luarocks install lua-opencage-geocoder
|
|
local geocoder = require "opencage.geocoder"
|
|
local gc = geocoder.new({
|
|
key = os.getenv("OPENCAGE_APIKEY")
|
|
})
|
|
|
|
function otr_init()
|
|
end
|
|
|
|
function otr_exit()
|
|
end
|
|
|
|
function otr_hook(topic, _type, data)
|
|
end
|
|
|
|
function otr_revgeo(topic, user, device, lat, lon)
|
|
print("OpenCAge lookup for " .. lat .. ", " .. lon)
|
|
|
|
local d = {}
|
|
|
|
params = {
|
|
abbrv = 1,
|
|
no_record = 1
|
|
}
|
|
local res, status, err = gc:reverse_geocode(lat, lon, params)
|
|
if status == 200 then
|
|
d['cc'] = string.upper(res.results[1].components.country_code)
|
|
d['locality'] = res.results[1].components.city
|
|
d['addr'] = res.results[1].formatted
|
|
else
|
|
print("OpenCage lookup returned status=" .. status)
|
|
end
|
|
|
|
d['_rec'] = true -- store in .REC file
|
|
return d
|
|
end
|