跳转至

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)