superMap Cesium(超图) ---scene open()用法

前言:

     我最近在做一个关于3维地图的项目,项目中涉及到Cesium,isServer超图的一些知识,今天总结一下scene.open()的用法。

    viewer.scene.open() 打开iserver场景服务下所有图层。同时这个方法会自带一个自动定位功能,具体实现不深究。

打开iserver场景服务下所有图层。

Name Type Description
url String 服务url。

Returns:

返回promise异步加载对象。

例子:

var promise = scene.open('http://localhost:8090/iserver/services/3D-BIM3/rest/realspace');
promise.then(function(layers){});

如果有多个则可以时用all的方法。

  Cesium.when.all([promise...], function (layers) {
     //所有图层都打开才执行
     //可以做一些判断,隐藏一些图层.....
       if(layers.name("")==""){//判断图层名称是否相等,相等就隐藏,当然还可设置其他属性
          layers.visible=false
         } 
   })

 可以利用layer.visible属性来隐藏图层,但是有些情况下,不想隐藏图层就需要用到

viewer.scene.layers.remove(需要移除图层的名称);

这两个方法都可隐藏图层,但是区是,visible只是视图上隐藏而已,viewer中还有其对象,remove是直接把viewer中的对象移除了。根据使用场景来使用。

如遇到其他问题可参考:https://www.cnblogs.com/jyybeam/p/11126481.html

具体使用可参考api:http://support.supermap.com.cn:8090/webgl/Build/Documentation/Scene.html?classFilter=scene

 

你可能感兴趣的:(Cesium,React)