SuperMap iPortal 对接postgis业务数据库(二):大屏使用接口数据更新图表和地图

news2025/1/23 6:10:01

本文是SuperMap iPortal 对接postgis业务数据库的第二个步骤:大屏使用接口数据更新图表和地图。
这个步骤可以有两种方式去实现数据的展示和更新如下:

一、使用数据上图构建地图并在大屏中使用

1. 数据上图构建地图

打开iPortal 应用中心的数据上图,新建->添加图层->通过Web添加 选择GeoJSON Data并填写返回数据的geojson链接,如图:
在这里插入图片描述
添加后,根据自己需求进行配图,配好图后保存该地图.

2. 大屏中使用该地图

打开iPortal 应用中心的地图大屏,新建->将地图组件拖入大屏中->选择地图,在我的地图中选中第一步保存的地图。结果如图:
在这里插入图片描述

二、使用低代码编辑器在大屏中使用

1、更新图表

下面的部分代码只是更新表格数据,不对表格的样式做更改,如需更改样式可以参考echarts官网接口文档对options进行更改.

// 获取dom元素注册点击事件,当然也可以通过其他的相关事件触发图表数据切换
const changeButton1 = document.querySelector(".components_text_1 .sm-component-text")
changeButton1.onclick = () => {
    changeChartData()
}
// 图表只切换数据
function changeCahrtData() {
    let resultObj // pg返回的数据
    let xData = [] // 图表 x的值
    let yData = [] // 图表 y的值
    // ajax 请求到pg数据库的数据.
    $.ajax({
        type: "get",
        url: "http://172.16.15.181:3000/chart",
        // data: queryData,
        success: function (result) {
            resultObj = result;
            for (let item of resultObj) {
                xData.push(item.name)
                yData.push(item.number)
            }
            console.log(resultObj, xData, yData);
            // 获取当前图表的options然后更改options的数据
            let options = $Chart_0.getOption()
            options.series[0].data = yData
            options.xAxis[0].data = xData
            $Chart_0.setOption(options)
        },
        error: function (msg) {
            console.log(msg);
        },
    })
}

效果图:
在这里插入图片描述

2、更新地图

请求nodeJs返回的geojson数据然后在地图中加载该geojson.下面代码为简单加载geojson代码,如需更多操作与功能可以参考mapbox GL官网接口进行操作。

// 获取dom元素注册点击事件
const changeButton2 = document.querySelector(".components_text_3 .sm-component-text")
changeButton2.onclick = () => {
    addWkbData()
}
// 加载nodeJs返回的geojson数据
function addWkbData() {
    $.ajax({
        type: "get",
        url: "http://172.16.15.181:3000/map",
        // data: queryData,
        success: function (result) {
            // 将json转为对象
            // let jsonData = JSON.parse(result);
            $WebMap_2.addLayer({
                "id": "QueryBondsArea",
                "type": "fill",
                "source": {
                    "type": "geojson",
                    "data": result
                },
                "paint": {
                    "fill-color": "rgba(0, 0, 255, 0.1)",
                    'fill-outline-color': "red",
                },
            });
            // 设置显示比例尺
            $WebMap_2.setLayerZoomRange('QueryBondsArea', 9, 12);
            // 移除图层
            // $WebMap_2.removeLayer('QueryBondsArea')
        },
        error: function (msg) {
            console.log(msg);
        },
    })
}

效果图:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/105397.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

教你如何轻松搞定云上打印管理

摘要:加快自主创新,满足数字化用户多场景文印需求。本文分享自华为云社区《有了司印云打印,云上打印管理轻松搞定!》,作者:云商店 。 作为与职场和个人办公息息相关的工作场景,打印长期以来都是…

uniapp-uView在离线状态下无法显示icon图标的问题

1、修改uview-ui下的u-icon.vue配置文件,一般目录在 uni_modules\uview-ui\components\u-icon\u-icon.vue 2、源文件引入的是阿里巴巴的icon https://at.alicdn.com/t/font_2225171_8kdcwk4po24.ttf font-face {font-family: uicon-iconfont;src: url(https://at.…

restful风格快速入门

restful风格入门 概述 简介:REST(Representational State Transfer),表现形式状态转换。 传统风格 http://localhost/users/getById?id1 http://localhost/users/saveUser REST风格 http://localhost/users/1 http://localhost/users 对比: 对比可…

spring-boot sentry 不触发事件

按照官网的提示https://docs.sentry.io/platforms/java/guides/spring-boot/performance/ 一步一步的确认,但是最终就是不触发事件 解决过程: 1.开启debug 在properties文件增加一行 sentry.debugtrue2.运行,查看日志输出。 dsn什么的配…

Android代码保护与反调试方案

1、代码保护方案 1.1、Proguard代码混淆 ProGuard是一个开源的Java代码收缩器,优化器,混淆器和预校验器,ProGuard的作用如下: (1)压缩(Shrink):检查并移除代码中无用的类、字段、方法; &#…

一键回复聊天软件

不论是何种行业,高效工作都是企业一直在追求的,如果在为客户提供服务的过程中,有一个趁手的好工具是可以带来事半功倍的效果的。 前言 随着互联网的发展,越来越多的工作开始转向线上化,通过网络可以满足客户的多种需求…

手写Srping10(实现容器事件监听)

文章目录目标设计项目结构一、实现1、定义事件接口--ApplicationEvent1、定义通用应用上下文事件--ApplicationContextEvent2、定义刷新和关闭事件--ContextClosedEvent、ContextRefreshedEvent2、定义事件监听--ApplicationListener3、定义事件广播器--ApplicationEventMultic…

audio_open函数分析

audio_open() 的作用,就如同它的名字那样,就是打开音频设备。流程图如下: SDL 库播放音频数据有两种方式。 1,调用层定时往 SDL 接口塞数据。 2,设置SDL回调函数,让 SDL 来主动执行回调函数来取数据。 第…

ABAP 字符处理

场景1:是否只包含数字 str1 CO 0123456789 涉及关键字:CO,使用公式 str1 CO str2 。表示 str1 中 的每个字符 在 str2 中都能找到 类比:无 场景2:字符串1 是否 包含 字符串2 DATA str1 TYPE STRING VALUE hello world. DATA …

Pytest测试框架搭建需求及实现方案

目录 框架需求及实现方案 框架需求 实现方案 支持接口自动化、Web UI自动化及App自动化 可以批量运行用例并生成测试报告 测试完成发送邮件 提供灵活的运行方式,如按功能模块运行、按脚本运行、按用例等级运行等等 提供运行日志方便定位问题 支持切换环境 …

李沐精读论文:MAE 《Masked Autoencoders Are Scalable Vision Learners》

论文:Masked Autoencoders Are Scalable Vision Learners 别再无聊地吹捧了,一起来动手实现 MAE(Masked Autoencoders Are Scalable Vision Learners) 玩玩吧! - 知乎 参考博文:MAE 论文逐段精读【论文精读】 - 哔哩哔哩 神洛华…

QT 学习笔记(十)

文章目录一、绘图1. 理论知识储备2. 画背景图3. 简单绘图4. 手动刷新窗口二、绘图实现代码1. 主窗口头文件 widget.h2. 主窗口头文件 widget.cpp由于每次代码都是在原有程序上修改,因此除了新建项目,不然一般会在学完后统一展示代码。 提示:具…

【Python机器学习】卷积神经网络卷积层、池化层、Flatten层、批标准化层的讲解(图文解释)

卷积神经网络 卷积神经网络(convolutional neural network, CNN)在提出之初被成功应用于手写字符图像识别,2012年的AlexNet网络在图像分类任务中取得成功,此后,卷积神经网络发展迅速,现在已经被广泛应用于…

怎样在Odoo 16中启用完整的财务功能

Odoo是目前市场上最好的ERP软件之一。Odoo提供两种类型的版本,社区版和企业版。Odoo社区版是由开源软件支持的免费基本版。Odoo社区版本中没有一些模块和功能。但企业版付费版,升级版更适合更高的价值。Odoo企业版具有无限的功能支持和完整的功能。性能和…

「集合底层」深入浅出HashMap底层源码

「集合底层」深入浅出HashMap底层源码 一、HashMap介绍 HashMap底层采用了哈希表,而哈希表是由数组和链表实现的。数组和链表各有自己的特点: 数组:占用空间连续。 寻址容易,查询速度快。但是,增加和删除效率非常低…

倒序打印链表

在做这个题的时候我闹了一个大笑话,我用了反转链表做,哈哈哈哈, 这个题目思路很简单,用到了数组的头插法,注意题目要求返回数组 遍历链表,将链表的val放到数组中 下面来看代码 import java.util.ArrayLis…

flash基础知识

flash基础手册一、flash概念(一)特性(二)FLASH的块/扇区/页关系(三)常用FLASH型号大小(四)常用FLASH擦写规则(五)存储器类型参考二、与其他类型存储器件对照&…

PDF文件怎么加密?推荐3种方法给你

在我们的工作学习上,应该有不少人都需要使用到PDF文件格式,毕竟这个格式它兼容性较广,且不易编辑,能较好的保存文件。不过,我们有时为了不让它被其它人随意查看,会给这个文件进行加密的操作。那你们知道如何…

python实现基于TNDADATASET的人体行为识别

首先来看下TNDADATASET: 随便打开一个文件简单看下如下所示: 可以大概推测出来,这里面不同维度的数据集应该是由不同的穿戴式传感器采集得到的,最后一列的class表示的是当前的行为类型。 在我之前的博文里面已经做过了相关的工作…

计算机毕设Python+Vue养老机构管理信息系统(程序+LW+部署)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…