cesium01_加载影像-BaseLayerPicker使用

文章来源:https://www.jianshu.com/p/9eff6548dd54

1、修改内置BaseLayerPicker

在初始化Viewer时,将baseLayerPicker设置为true即可显示BaseLayerPicker控件。我们可以通过将viewer.baseLayerPicker.viewModel.selectedImagery 设置为viewer.baseLayerPicker.viewModel.imageryProviderViewModels[6]来设置BaseLayerPicker的默认数据源(注:我们这里设置的[5])。


  //一:使用cesium内置数据源选择工具:BaseLayerPicker
        var viewer = new Cesium.Viewer('cesiumContainer', {
            TerrainProvider:null,
            selectionIndicator:false,
            animation:false,  //是否显示动画控件
            baseLayerPicker:true, //是否显示图层选择控件
            geocoder:false, //是否显示地名查找控件
            timeline:false, //是否显示时间线控件
            sceneModePicker:true, //是否显示投影方式控件
            navigationHelpButton:false, //是否显示帮助信息控件
            infoBox:false,  //是否显示点击要素之后显示的信息
            fullscreenButton:true
        });
        //取消双击事件
       viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);
        //设置homebutton的位置
        Cesium.Camera.DEFAULT_VIEW_RECTANGLE=
                Cesium.Rectangle.fromDegrees(110.15,34.54, 110.25, 34.56);//Rectangle(west, south, east, north)
        //设置初始位置
        viewer.camera.setView({
            destination:Cesium.Cartesian3.fromDegrees(110.20, 34.55, 3000000)
        });
        //设置默认地图源
        viewer.baseLayerPicker.viewModel.selectedImagery= viewer.baseLayerPicker.viewModel.imageryProviderViewModels[5];

2 、自定义BaseLayerPicker


var viewer = new Cesium.Viewer('cesiumContainer');
        //定义ImageryProvider:
         var esriMap = new Cesium.ArcGisMapServerImageryProvider({
            url:'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer',
            enablePickFeatures:false
        });
        //设置ProviderViewModel:
        var esriMapModel = new Cesium.ProviderViewModel({
            name:'esri Maps',
            iconUrl:Cesium.buildModuleUrl('./Widgets/Images/ImageryProviders/esriWorldImagery.png'),
            tooltip:'ArcGIS 地图服务',
            creationFunction:function () {
                return esriMap;
            }
        });


        //只有一个
        var providerViewModels = [];
        providerViewModels.push(esriMapModel);
        viewer.baseLayerPicker.viewModel.imageryProviderViewModels = providerViewModels;

      //新增一个
      //var providerViewModels = viewer.baseLayerPicker.viewModel.imageryProviderViewModels;
      //providerViewModels.push(esriMapModel);
      //viewer.baseLayerPicker.viewModel.imageryProviderViewModels = providerViewModels;



©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,906评论 1 32
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,921评论 0 17
  • 1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 ...
    Moment__格调阅读 10,087评论 0 11
  • 今天的计划的行程里插入了一个新的内容,我的事业工作从今天下午的业务会开始了,已经有15年没有穿工服工作的感受了,感...
    邵海燕三阶阅读 1,558评论 1 3
  • 生命中总会遇到一个人,他的出现让你觉得之前的爱情都不值一提,会让你觉得他的到来是生命的恩赐,会让你变得勇敢变得无所...
    深巷梨花阅读 2,555评论 0 2

友情链接更多精彩内容