为何Location属性无法在Azure IoT Central设备仪表板正常显示?
Azure IoT Central地图组件无法显示设备位置问题排查
设备模板属性定义
{ "@id": "dtmi:iotDevicesAnywhere:MfrAIUTModelIAA5Level_3o3:Location;1", "@type": [ "Property", "Location" ], "description": { "en": "Device Location" }, "displayName": { "en": "Location" }, "name": "Location", "schema": "geopoint", "writable": true }
上报的设备属性数据
{ "Location": { "reported": { "value": { "lat": "41.5770160991936", "lon": "-83.5955713465806", "alt": 0 } } }, "_eventtype": "Property", "_timestamp": "2022-08-29T11:49:08.577Z" }
配置与显示情况
- 仪表板配置:已添加位置组件,并关联设备的
Location属性 - 显示异常:地图组件无法正确渲染设备位置,呈现空白或无法定位状态
问题原因
设备上报的lat和lon字段为字符串类型(带引号),但设备模板中geopoint类型要求经纬度必须是数值类型(数字)。IoT Central无法解析字符串格式的经纬度,导致地图组件无法识别位置信息。
解决方案
修改设备上报的属性数据,将lat和lon的字符串值改为数值类型(去掉引号),示例如下:
{ "Location": { "reported": { "value": { "lat": 41.5770160991936, "lon": -83.5955713465806, "alt": 0 } } }, "_eventtype": "Property", "_timestamp": "2022-08-29T11:49:08.577Z" }
修改完成后重新上报属性数据,IoT Central的地图组件即可正确加载并显示设备位置。
内容的提问来源于stack exchange,提问作者Mike Lenart
相关产品推荐
相关产品推荐

