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

这篇具有很好参考价值的文章主要介绍了项目中超图 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文章来源地址https://www.toymoban.com/news/detail-678413.html

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

到了这里,关于项目中超图 for openlayer和超图for cesium同时引入的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • cesium开发引入方式

    无独有偶,引入无非两种方式:外部标签引入和import导入。 1、外部引入       外部引入的话需要提前去下载开发包,下载完后,Build文件夹有两个文件夹:Cesium和CesiumUnminified,Cesium是压缩版的,CesiumUnminified是未压缩的,如果自己学习调试可以用未压缩的;如果是项目建议用

    2024年02月08日
    浏览(35)
  • Cesium引入vite + vue3

    卸载命令 使用 vite.config.js 组件使用 加载高德地图 高德地图的加载方便很多,并不需要申请key,可以直接加载到我们的Cesium中。 加载ArcGISMap地图

    2024年02月14日
    浏览(35)
  • 项目中使用firame引入html 解决路由错乱问题

    父组件 子组件: 方法一、通过子组件iframe1向父组件传值,再通过父组件向子组件iframe2传值可达到目的; 注意:模拟时 需要开启服务器,否则会出现跨域问题! 看图你应该就明白了 在项目中使用iframe引入html,引入的html中有路由跳转,当点击html页面中的路由跳转时,浏览器

    2024年02月02日
    浏览(34)
  • [微信小程序] 项目引入vant组件库 npm构建问题 避坑

     按照Vant Weapp官网的快速上手,构建npm时发现报错 问题:package.json 未找到 原因:没有初始化npm,所以没生成package.json,npm构建时需要此文件,所以报此错误 解决:在项目根目录里执行 “ npm init ” 再次构建npm,还会报错,此时按照vant官方文档 再次执行即可: 如果还是没有

    2024年02月17日
    浏览(54)
  • 解决IDEA创建项目时无法引入依赖问题:Cannot resolve **.**.**(已解决)

    今天在创建SpringBoot整合MyBatis项目时出现报错: Cannot resolve org.springframework:spring-tx:5.3.26 Cannot resolve org.mybatis:mybatis:3.5.11 Cannot resolve org.springframework:spring-jdbc:5.3.26 在网上查找了很多方法均不适用,开始以为又是版本的问题,可是一想SpringBoot中依赖的版本已经确定好了。 然后有

    2023年04月16日
    浏览(50)
  • 前端开发---在vue项目中使用openLayers

    本篇文章主要讲解openLayers的初步使用,包括渲染地图、获取点坐标、标记点、中心位置的调整、以及获取到经纬度向后台发送请求 演示地址 官网 gitee链接 npm install ol import “ol/ol.css”; import { Map, View, ol } from “ol”; import TileLayer from “ol/layer/Tile”; DW () { var view = this.map.getVi

    2024年02月08日
    浏览(48)
  • 解决项目迁移vite引入图片资源报require is not defined的问题

    Vite是一种轻量快速的前端构建工具,能够显著提升前端开发体验,而且官方已经发布v4版本,相对比较稳定。在把VueCli搭建的项目迁移到Vite的过程中遇到了个问题,下面分享一下问题及解决办法。 在 script 标签里面引入的图片资源没生效,然后一看控制台,报错显示 require

    2024年02月03日
    浏览(46)
  • 项目中使用iframe引入html 解决路由错乱问题以及父子组件传值调用方法

    父组件 子组件: 方法一、通过子组件iframe1向父组件传值,再通过父组件向子组件iframe2传值可达到目的; 注意:模拟时 需要开启服务器,否则会出现跨域问题! 看图你应该就明白了 在项目中使用iframe引入html,引入的html中有路由跳转,当点击html页面中的路由跳转时,浏览器

    2024年02月01日
    浏览(47)
  • 【UE5 Cesium】15-Cesium for Unreal 加载本地影像和地形

    目录 一、加载全球无高度地形 二、加载区域DEM 三、加载离线地图影像 1. 先去如下网址下载全球无高度地形:Using a global terrain layer without height detail - #9 by RidhwanAziz - Cesium for Unreal - Cesium Community 下载后如下: 解压后可以看到是一个.tif格式的文件 2. 打开CesiumLab,需要将tif转为

    2024年02月07日
    浏览(38)
  • Cesium for Unity包无法加载

    把批处理启动文件👈中的exe的路径换成自己的安装目录!保存后双击启动UnityHub,再打开项目即可顺利加载包。

    2024年01月25日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包