Location接口提供了支持设备实时位置能力的指令与事件。
设备需要首先使用SynchronizeFeatureList上报设备 实时位置 能力为true,TVS云端才会提供Location接口的支持。如果没有上报 实时位置 能力,则可以不实现Location协议。
如果设备支持实时位置,精灵服务要求客户端在每个需要上下文的事件中都要上报 location
状态信息。
{ "header": { "namespace": "Location", "name": "ExtLocationState" }, "payload": { "longitude":{{DOUBLE}}, "latitude":{{DOUBLE}} } }
参数 | 描述 | 类型 |
---|---|---|
longitude | 经度(东经数值为正,西经数值为负),最高精确到小数点后10位 | 浮点数 |
latitude | 纬度(北纬数值为正,南纬数值为负),最高精确到小数点后10位 | 浮点数 |
此事件上报设备所在地理信息,实现云端设备位置的更新。
客户端可以在以下场景中上报LocationStatusReport事件:
1. 定时上报(比如每一分钟上报一次)
2. 地理位置发生一定距离的变化时上报
{ "event": { "header": { "namespace": "Location", "name": "ExtLocationStatusReport", "type": "extension", "messageId": "{{STRING}}", "dialogRequestId": "{{STRING}}" }, "payload": { "latitude":{{DOUBLE}}, "longitude":{{DOUBLE}} } } }
参数 | 描述 | 类型 |
---|---|---|
messageId | 用以代表一个特定报文的唯一ID。 | 字串 |
dialogRequestId | 用以将指令与一个特定 Recognize 事件关连的唯一ID。 |
字串 |
参数 | 描述 | 类型 |
---|---|---|
longitude | 经度(东经数值为正,西经数值为负),最高精确到小数点后10位 | 浮点数 |
latitude | 纬度(北纬数值为正,南纬数值为负),最高精确到小数点后10位 | 浮点数 |