首页 / 浏览问题 / WebGIS / 问题详情
使用超图的api加载图层报错
11EXP 2023年05月06日

使用的版本@supermap/iclient-ol@11.0.0和ol@6.9.0

报错是这样的:

加载rest服务的写法是:

let layer = new TileLayer({ 
 source: new TileSuperMapRest({ url: url, origin: [-180, 90] }), 
 projection: 'EPSG:4326', 
 baseLayer: true, 
 zIndex: that.sysMapObject.getLayers().getLength() + 1 
}); 
that.sysMapObject.addLayer(layer);

new Map和new View环节应当没什么问题,加载矢量图层是OK的, 原版本是@supermap/iclient-ol@10.0.1和ol@6.2,可以展示,ol版本升级成6.9.0就异常了,超图的api加载天地图、rest服务都会报这个错,能帮忙看看是哪里的问题吗?

1个回答

您好,iCLient 11本身一些方法名和引用方法相比10i确实都有所变动

您可以参考下新的11的示例:

https://iclient.supermap.io/examples/openlayers/examples.html#iServer

https://iclient.supermap.io/examples/openlayers/editor.html#01_tiledMapLayer4326

希望可以帮助到您。

10,758EXP 2023年05月06日

从您的恢复中我看到了这个答案

这个我有看过,由于ol.layer.Tile的写法显示未定义报错,所以我使用了引入的方式书写,如下:

import TileLayer from 'ol/layer/Tile';
import {TileSuperMapRest} from '@supermap/iclient-ol';

感觉这样写应当是可以的,但是就是报错呢?

我尝试了使用这个代替import TileSuperMapRest from 'ol/source/TileSuperMapRest';但是会显示ol中不含有这个TileSuperMapRest

找了一下,我是参考这里的写法写的,但是不明白为什么会报那个错,我再vue项目的html引入了那4个文件,也安装了@supermap/iclient-ol和相应的依赖

11i使用vue的话, 如使用ES6语法,只能按需引入。

可以参考下这个:https://blog.csdn.net/supermapsupport/article/details/109294147

...