上云无忧 > 文档中心 > 百度智能云物联网可视化设实践教程 - 嵌入可视交互
物联网可视化设计
百度智能云物联网可视化设实践教程 - 嵌入可视交互

文档简介:
通过本示例,用户可以了解到如何把物可视的仪表盘嵌入到自己的工程中,并与工程中的交互控件进行数据交互。 本示例以一个“设备地图”组件为例,通过查询一系列TSDB数据来作为“设备地图”的轨迹数据,并通过一个select JS 控件和一个datetimpicker JS控件来实现“设备地图”中的车辆选择和查询时间选择,具体的操作步骤如下:
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

通过本示例,用户可以了解到如何把物可视的仪表盘嵌入到自己的工程中,并与工程中的交互控件进行数据交互。

本示例以一个“设备地图”组件为例,通过查询一系列TSDB数据来作为“设备地图”的轨迹数据,并通过一个select JS 控件和一个datetimpicker JS控件来实现“设备地图”中的车辆选择和查询时间选择,具体的操作步骤如下:

1.首先 拖拽一个"设备地图"组件到中间的画布上。

2.准备数据。

(1) 进入数据表页面。选择上图 红框1中的『数据表』Tab进入到数据表创建页面。

(2) 新建数据表。

第一步:命名数据表,选择数据类型。此处我们选择一个“时序数据库”数据,点击下一步。

第二步:在数据表配置界面选择合适的度量metric,域field,标签tag。

本例中的度量是一系列时序轨迹数据,度量是 telemetric, 域是经度longitude和维度latitude, 标签是 entity。

这样我们就得到一张有多条轨迹的位置地图。

3.嵌入仪表盘。

在JS 工程中集成物可视SDK, 详情集成文档参考链接。

<script type="text/javascript" src="https://iot-dv.cdn.bcebos.com/prod/sdk/bdiotvizplayer.min.js"></script>

componentDidMount() {
    const that = this;
    const bdIotVizPlayer = window.BDIotVizPlayer;
    bdIotVizPlayer({
        containerElement: this.$viz,
        dashboardId: '5b4c304357369f****028eff',
        fillMode: 'cover', // <-- Possible value: 'none', 'contain', 'cover'
        token: {
            type: 'embedded',
            value: '6941cb46595f8db8b****1cb7407ab9b' // <-- Access Token for current dashboard
        },
        onload: (api) => {
            this.api = api;
            api.getDashboardConfig().then(function (config) {
                console.log(config.dataTables); // <--- Current Dashboard Config
                let tableConfig = config.dataTables[5];
             });
            // refer to API doc for complete API description
        }
    });
}

this.$viz = dom}>

在console.log(config.dataTables)的输出结果中找到相应查询的ID。

4.组件添加和交互

  • 第一步:在JS代码中添加交互组件。(组件中的RangePicker组件用的是 antd 中的RangePicker组件)

    Car Name:
     scooter tesla icecream-truck 

    <rangepicker id="rp" onchange="{this.changeTime}" defaultvalue="{[moment('2018/08/15'," dateformat),="" moment('2018="" 08="" 016',="" dateformat)]}="" format="{dateFormat}">

  • 第二步:为交互组件配置交互刷新代码。

    changeCar = (event) => { const newConfig = { "filters": { "tags": [{ "tag": "entity", "in": [event.target.value] }] } } this.api.updateDataTableConfig('23ab69a6-20ef-4e47-****-6b7526032b65', newConfig); }

    changeTime = ([from, until]) => { const newConfig = { "filters": { "start": from.valueOf(), "end": until.valueOf() }, "trigger":{ "rangeRule":"none", "type":"once" } } this.api.updateDataTableConfig('23ab69a6-20ef-4e47-****-6b7526032b65', newConfig) }

5.完成后效果如下

相似文档
  • 数据处理类型: 物可视数据处理分为两类,预设数据处理和自定义数据处理。 预设数据处理:包括行列排序、重命名、行列转换、数据透视表等预设变换能力(用过Excel的小伙伴都知道)
  • 在物可视编辑器中创建数据表时可以看到,在类型选项中可供选择的有“时序数据库”,“设备影子”,”静态数据“和”仿真数据“。 因此经常有用户咨询,物可视是不是不支持从用户 API 获取数据呢?
  • 自从天工物可视公测以来,已经有不少用户向我们反映,因为自身的数据安全需求或者法律法规的要求,他们无法使用运营在公开网络环境中的可视化产品。然而此前物可视并不具备脱离公网运行的能力,使得使用百度天工物联网整体解决方案的用户在可视化的环节缺了一段,甚为可惜。
  • 物可视的仪表盘以“组件”为单位构建。组件包括图表,形状,文字等等许多种类,但大体上可以分为两种: 展示类 - 纯粹地展示数据,如图表,形状,文字等。物可视绝大部分的组件都是这一类。
  • 在另一篇最佳实践“数据源接入之 TSDB”中,我们配置的参数为“city”为“bj”。自然的,仪表盘在运行时,只会拿到“bj”的数据。 那么,如何在仪表盘运行时修改查询参数,使其展示“gz”的数据,而不修改数据表配置+重新保存仪表盘?这就需要写一些代码了。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部