airlbs - airlbs 定位服务(收费服务,需自行联系销售申请)#

示例

-- lbsloc 是异步回调接口,
-- lbsloc2 是是同步接口。
-- lbsloc比lbsloc2多了一个请求地址文本的功能。
-- lbsloc 和 lbsloc2 都是免费LBS定位的实现方式;
-- airlbs 扩展库是收费 LBS 的实现方式。

airlbs.request(param)#

获取定位数据

参数

传入值类型

解释

param

table 参数(联系销售获取id与key) project_id:项目ID project_key:项目密钥 timeout:超时时间,单位毫秒 默认15000 adapter: 网络适配器id,可选,默认是平台自带的网络协议栈

返回值

返回值类型

解释

bool

成功返回true,失败会返回false

table

定位成功生效,成功返回定位数据

例子

--注意:函数内因使用了sys.waitUntil阻塞接口,所以api需要在协程中使用
--注意:使用前需同步时间

local airlbs = require "airlbs"

sys.taskInit(function()
    -- 等待网络就绪
    sys.waitUntil("IP_READY")
    -- 执行时间同步
    socket.sntp()
    sys.waitUntil("NTP_UPDATE", 10000)
    while 1 do
        -- airlbs请求定位
        local result ,data = airlbs.request({
            project_id = airlbs_project_id,
            project_key = airlbs_project_key,
            timeout = 10000, 
            adapter = socket.LWIP_STA
            })
        if result then
            log.info("airlbs", json.encode(data))
        end
        sys.wait(20000)
    end
end)

airlbs.get_address(lat, lng, param)#

获取地址信息

参数

传入值类型

解释

param

number 纬度

param

number 经度

param

table 参数 timeout:超时时间,单位毫秒 默认10000 adapter: 网络适配器id,可选,默认是平台自带的网络协议栈

返回值

返回值类型

解释

bool

成功返回true,失败会返回false

string

成功返回地址信息,失败返回错误信息

例子

--注意:函数内因使用了http.request阻塞接口,所以api需要在协程中使用

local airlbs = require "airlbs"

sys.taskInit(function()
    -- 等待网络就绪
    sys.waitUntil("IP_READY")
    -- 获取地址信息
    local result, address = airlbs.get_address(lat, lng)
    if result then
        log.info("airlbs.get_address", address)
    else
        log.info("airlbs.get_address失败", address)
    end
end)