Cesium加载网络天地图影像服务和注记服务

本文介绍了如何在Cesium中通过天地图的WebMapTileServiceImageryProvider实现影像和注记服务的集成,包括URL配置、图层管理以及自定义视图设置。
摘要由CSDN通过智能技术生成
      //天地图影像服务
      var tdtImagerLayerProvider = new Cesium.WebMapTileServiceImageryProvider({
            url:"http://t0.tianditu.com/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles",
            layer:"tiandituImg",
            style:"default",
            format:"image/jpeg",
            tileMatrixSetID:"tiandituImg",
            show:true,
            maximumLevel:18
        });
 
        //天地图注记服务
        var tdtNoteLayerProvider = new Cesium.WebMapTileServiceImageryProvider({
            url:"http://t0.tianditu.com/cia_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cia&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default.jpg",
            layer:"tiandituImgMarker",
            style:"default",
            format:"image/jpeg",
            tileMatrixSetID:"tiandituImgMarker",
            show:true,
            maximumLevel:16
        });

v1:
var tdtNoteLayerProvider =new Cesium.WebMapTileServiceImageryProvider({
            url: 'http://{s}.tianditu.gov.cn/cia_c/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cia&tileMatrixSet=c&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles' + '&tk=' + SYSTEM_CONFIG.TOKENS.TDT_TK,
            layer: 'cia',
            style: "default",
            format: "tiles",
            tileMatrixSetID: "c",
            subdomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
            tilingScheme: new Cesium.GeographicTilingScheme(),
            tileMatrixLabels: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19"],
            maximumLevel: 18,
            show: true
            // style: 'default',
            // format: 'image/jpeg',
            // tileMatrixSetID: 'GoogleMapsCompatible'
        })
 
        var viewer = new Cesium.Viewer('cesiumContainer', {
            imageryProvider:tdtImagerLayerProvider,
            contextOptions:{
                webgl:{
                    alpha:true
                }
            },
            selectionIndicator:false,
            homeButton:false,
            animation:false,  //是否显示动画控件
            baseLayerPicker:false, //是否显示图层选择控件
            geocoder:false, //是否显示地名查找控件
            timeline:false, //是否显示时间线控件
            sceneModePicker:false, //是否显示投影方式控件
            navigationHelpButton:false, //是否显示帮助信息控件
            infoBox:false,  //是否显示点击要素之后显示的信息
            fullscreenButton:false   //是否显示全屏
        });
 
        //取消双击事件
       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, 10000000)
        });
 
 
        //----------------------------------多图层控制
        var imageryLayers = viewer.imageryLayers;
        var tdtNoteLayer = imageryLayers.addImageryProvider(tdtNoteLayerProvider);//添加注记图层
        imageryLayers.raiseToTop(tdtNoteLayer);//将注记图层置顶
        imageryLayers.alpha= 0.3;//改变透明度
        imageryLayers.brightness= 1.5;//改变亮度

要在Cesium加载谷歌地影像注记,需要使用CesiumImageryLayer和TileMapServiceImageryProvider等类来实现。以下是一些简单的代码示例: ```javascript // 创建谷歌地影像层 var googleImageryProvider = new Cesium.UrlTemplateImageryProvider({ url: 'http://mt{0}.google.cn/vt/lyrs=s&hl=zh-CN&gl=CN&x={1}&y={2}&z={3}&s=Ga', credit: new Cesium.Credit('谷歌地服务') }); // 创建谷歌地注记层 var googleAnnotationProvider = new Cesium.UrlTemplateImageryProvider({ url: 'http://mt{0}.google.cn/vt/lyrs=h&hl=zh-CN&gl=CN&x={1}&y={2}&z={3}&s=Gali', credit: new Cesium.Credit('谷歌地服务') }); // 创建谷歌地影像层和注记层 var googleImageryLayer = new Cesium.ImageryLayer(googleImageryProvider); var googleAnnotationLayer = new Cesium.ImageryLayer(googleAnnotationProvider); // 将层添加到地球上 viewer.imageryLayers.add(googleImageryLayer); viewer.imageryLayers.add(googleAnnotationLayer); ``` 在上述代码中,我们创建了两个`UrlTemplateImageryProvider`对象,分别用于加载谷歌地影像注记。然后,我们使用这些层创建了两个`ImageryLayer`对象,并将它们添加到了Cesium的`viewer`对象中。 需要注意的是,谷歌地服务地址可能会发生变化,因此需要根据实际情况来修改代码中的URL。此外,由于谷歌地的使用需要遵守相关法律法规,因此在使用谷歌地时需要注意遵守相关规定。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值