首页 / 浏览问题 / WebGIS / 问题详情
加载iserver 的地图服务无反应
22EXP 2023年04月17日
let url =

        "http://10.64.101.123/iserver/services/map-zjroadview-6/rest/maps/zjmap/tileFeature/vectorstyles.json?type=MapBox_GL&styleonly=true";

      var promise = this.viewer.scene.addS3MTilesLayerByScp("http://10.64.101.123/iserver/services/map-zjroadview-6/rest/maps/zjmap/tileFeature/vectorstyles.json?type=MapBox_GL&styleonly=true", {

        name: "base",

      });

      promise.then((layer) => {

        layer.visible = false;

        // this.layermodel[res.data.id] = layer

        // if (res.data.modelId != null && res.data.modelId != "") {

        //   var ids = res.data.modelId.split(",");

        //   layer.setOnlyObjsVisible(ids, false);

        // }

      });

从mapboxgl更换为cesium

1个回答

您好,iClient for Cesium的 scene .addS3MTilesLayerByScp 接口是用来加载三维切片缓存服务的,不是用来加载地图服务的,

地图服务请作为影像图层来加载viewer.imageryLayers.addImageryProvider

参考:

http://support.supermap.com.cn:8090/webgl/docs/Documentation/Viewer.html

http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#SuperMapTileImagery

希望可以帮助到您。

10,758EXP 2023年04月17日
可以上源码么
您好,请问您说的源码指什么呢?是对api或者示例有什么疑问吗?

不知道怎么写啊smiley

试了,照着api上面的来,没有用

地图服务使用 viewer.imageryLayers.addImageryProvider 接口加载就可以,url到rest后以及的地图即可,

比如:

        var imageryLayers = viewer.imageryLayers;
        //利用服务url创建SuperMapImageryProvider实例
        var provider_wgs = new Cesium.SuperMapImageryProvider({
            url : "http://www.supermapol.com/realspace/services/map-World/rest/maps/World_Google" //经纬度地图服务
        });
        var imagery_wgs = imageryLayers.addImageryProvider(provider_wgs);

http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#SuperMapTileImagery

如果您是cesium本身不会使用的话,建议可以看一下入门指南,跑通Cesium后再叠加地图服务,

http://support.supermap.com.cn:8090/webgl/web/introduction/3DforWebGL.html

使用iClient for Cesium叠加数据需要注意,Cesium本身只支持地理坐标系和墨卡托全球投影坐标系(3857)的数据,其它坐标系的数据无法叠加。

...