SuperMap iClient3D for WebGL如何加载多token服务

xkf

在SuperMap iClient3D for WebGL加载服务数据的时候一般情况都是加载的公开的服务,但也会有因为保密性加载加密服务的时候,甚至是加载的服务需要用到几个加密的token。这种情况下需要进行如下操作:
ps:以下示例加密方式为SuperMap iPortal的加密。

加载单token服务:

// 需要在构造图层provider前声明
Cesium.Credential.CREDENTIAL = new Cesium.Credential("SHf9H7YWmdHLULULQ4gdAoWh", "key");

加载多token服务:

     // 需要在构造图层provider前声明
     Cesium.Credential.CREDENTIAL = new Cesium.Credential([
         {
             rooturl: "http://localhost:8195/portalproxy/iserver/services/3D-yingxiang/rest/realspace/datas/MosaicResult@dem",
             type: "key",
             value: "SHf9H7YWmdHLULULQ4gdAoWh",
         },
         {
             rooturl: "http://localhost:8195/portalproxy/iserver/services/3D-CBD/rest/realspace",
             type: "key",
             value: "4x3T2UQCjnW38ugvfmo7MbPP",
         },
     ]);

多token demo主要代码如下:

    function onload(Cesium) {
       // 需要在构造图层provider前声明
       Cesium.Credential.CREDENTIAL = new Cesium.Credential([
           {
               rooturl: "http://localhost:8195/portalproxy/iserver/services/3D-yingxiang/rest/realspace/datas/MosaicResult@dem",
               type: "key",
               value: "SHf9H7YWmdHLULULQ4gdAoWh",
           },
           {
               rooturl: "http://localhost:8195/portalproxy/iserver/services/3D-CBD/rest/realspace",
               type: "key",
               value: "4x3T2UQCjnW38ugvfmo7MbPP",
           },
       ]);
       //初始化viewer部件
       var viewer = new Cesium.Viewer('cesiumContainer');
       //添加SuperMap iServer发布的影像服务
       var layer = viewer.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({
           url : 'http://localhost:8195/portalproxy/iserver/services/3D-yingxiang/rest/realspace/datas/MosaicResult@dem'
       }));

       var scene = viewer.scene;
       var widget = viewer.cesiumWidget;
       $('#loadingbar').remove();
       try{
          var promise = scene.open('http://localhost:8195/portalproxy/iserver/services/3D-CBD/rest/realspace');
           Cesium.when(promise,function(layers){
           },function(){
               var title = '加载SCP失败,请检查网络连接状态或者url地址是否正确?';
               widget.showErrorPanel(title, undefined, e);
           });
       }
       catch(e){
           if (widget._showRenderLoopErrors) {
               var title = '渲染时发生错误,已停止渲染。';
               widget.showErrorPanel(title, undefined, e);
           }
       }
       $("#toolbar").show();
   }
   if (typeof Cesium !== 'undefined') {
       window.startupCalled = true;
       onload(Cesium);
   }

猜你喜欢

转载自blog.csdn.net/supermapsupport/article/details/121210572