当前位置: 首页 > news >正文

项目中超图 for openlayer和超图for cesium同时引入的问题

一个项目中同时用到了超图的openlayer和cesium版本,首先我是外部引入的超图的开发包,你要是通过npm导入的那就没关系了。

  <script type="text/javascript" src="/static/openlayer/supermap/ol/iclient-ol.min.js"></script><script src="/static/supermap/SuperMap.Include.js"></script>

这些包主要内容是超图针对自己服务封装的一些查询,加载,渲染功能。在项目引入时我记得当时必须是先引入二维的,如果先引入三维的,二维的功能会被污染掉,因为他们都是挂在window.SuperMap这个原型上。说到这儿,建议还是npm导入。

再简单说一下两者包里面查询的区别。

三维里封装的服务查询接口GetFeaturesBySQLService,默认返回格式是超图jsonp处理格式,这个请求返回数据比较快,而且不需要处理跨域问题。

二维里封装的服务查询接口GetFeaturesBySQLService,默认返回格式是geojson格式,并且是post请求,亲测数量大的时候较三维的慢很多。不过二维的可以设置header。

也不知道超图为什么要这样区分,实际过程中还测出一个问题,就是服务设置token后,二维的只需要注册便直接可以使用。

ol.supermap.SecurityManager.registerToken(url, iserverToken)

但是引入三维的后,token无法使用,也无法设置header。我用的都是最新的版本。记录一下问题,看看后面有没有改进。

关于token注册摸索后续:

其实SuperMap查询接口提供了全局注册方法,类似于三维Cesium

 //地图服务注册-三维
Cesium.Credential.CREDENTIAL = new Cesium.Credential(url, "token"); 
//数据查询接口注册
SuperMap.Credential.CREDENTIAL = new SuperMap.Credential(url, "token"); 

http://www.lryc.cn/news/135486.html

相关文章:

  • 3D与沉浸式技术,如何助力企业数字化转型?
  • excel vba 将多张数据表的内容合并到一张数据表
  • 接口和抽象类的区别?解析接口和抽象类的特点和用法
  • vscode-vue项目格式化
  • SAP MM学习笔记26- SAP中 振替转记(转移过账)和 在库转送(库存转储)1- 移动Type间振替转记
  • SAP SPL(Special Ledger)之注释行项目-Noted Items
  • 学习平台助力职场发展与提升
  • 有没有免费格式转换工具推荐?PDF转化为PPT的方法
  • 【LeetCode-经典面试150题-day12】
  • TCP机制-延迟应答,捎带应答
  • 【Redis从头学-8】Redis中的ZSet数据类型实战场景之用户积分榜
  • Springboot内嵌SQLite配置使用
  • 【微服务学习笔记】认识微服务
  • 基于Android R快速编译recovery-ramdisk.img
  • Redis分布式缓存
  • 最大公约数和最小公倍数
  • 数据结构——二叉搜索树(附带C++实现版本)
  • C++(3)C++对C的扩展Extension
  • 在vscode(idea)使用GitHub账号、Copilot异常
  • 新的后端渲染:服务器驱动UI
  • Postman如何做接口自动化测试?
  • excel文本函数篇2
  • 【MyBatis】动态SQL > 重点:${...}和#{...}与resultMap和resultType的区别
  • 什么是BEM命名规范?为什么要使用BEM命名规范?
  • JavaScript:交集和差集的应用场景
  • 达梦数据库表空间创建和管理
  • 三、MySQL 数据库安装集
  • 【BASH】回顾与知识点梳理(三十九)
  • 蓝蓝设计-UI设计公司案例-HMI列车监控系统界面设计解决方案
  • Blazor前后端框架Known-V1.2.13