cesium-2.加载天地图服务(影像和标注)

先看效果

在这里插入图片描述

1.准备工作

申请天地图密钥(注册天地图账号-选择控制台)
在这里插入图片描述

天地图地图服务采用OGC WMTS标准,服务列表见
http://lbs.tianditu.gov.cn/server/MapService.html

WMTS服务接口说明见: http://tdt.fuzhou.gov.cn/help/apipfs/3.htm

2.上代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>加载天地图dom</title>
    <link rel="stylesheet" href="../Cesium/Widgets/widgets.css">
    <script src="../Cesium/Cesium.js"></script>
    <style>
        html,
        body,
        #cesiumContainer {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
            overflow: hidden;
        }
    </style>
</head>

<body>
    <div id="cesiumContainer"></div>
    <script>

        let viewer = new Cesium.Viewer("cesiumContainer", {
            terrainProvider: Cesium.createWorldTerrain()
        });



        var TDU_Key = "a89df02c93e5474e9ebeb81a32fcb487"//天地图申请的密钥

        //在线天地图影像服务地址(墨卡托投影)
        var TDT_IMG_W = "http://{s}.tianditu.gov.cn/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&tk=" + TDU_Key;
        //在线天地图矢量地图服务(墨卡托投影) 
        var TDT_VEC_W = "http://{s}.tianditu.gov.cn/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0" +
            "&LAYER=vec&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}" +
            "&style=default&format=tiles&tk=" + TDU_Key;
        //在线天地图影像中文标记服务(墨卡托投影)  
        var TDT_CIA_W = "http://{s}.tianditu.gov.cn/cia_w/wmts?service=wmts&request=GetTile&version=1.0.0" +
            "&LAYER=cia&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}" +
            "&style=default.jpg&tk=" + TDU_Key
        //在线天地图矢量中文标记服务(墨卡托投影)            
        var TDT_CVA_W = "http://{s}.tianditu.gov.cn/cva_w/wmts?service=wmts&request=GetTile&version=1.0.0" +
            "&LAYER=cva&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}" +
            "&style=default.jpg&tk=" + TDU_Key;



        let Img = new Cesium.WebMapTileServiceImageryProvider({   //调用影响中文服务
            url: TDT_IMG_W,//url地址
            layer: "img_w",	//WMTS请求的层名称
            style: "default",//WMTS请求的样式名称
            format: "tiles",//MIME类型,用于从服务器检索图像
            tileMatrixSetID: "GoogleMapsCompatible",//	用于WMTS请求的TileMatrixSet的标识符
            subdomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],//天地图8个服务器
            minimumLevel: 0,//最小层级
            maximumLevel: 18,//最大层级
        })

        viewer.imageryLayers.addImageryProvider(Img)//添加到cesium图层上


        let cia = new Cesium.WebMapTileServiceImageryProvider({   //调用影响中文注记服务
            url: TDT_CIA_W,
            layer: "cia_w",
            style: "default",
            format: "tiles",
            tileMatrixSetID: "GoogleMapsCompatible",
            subdomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],//天地图8个服务器
            minimumLevel: 0,
            maximumLevel: 18,
        })

        viewer.imageryLayers.addImageryProvider(cia)//添加到cesium图层上

        
    </script>
</body>

</html>

代码放在:https://github.com/weshmily/cesiumPDG

欢迎各位大佬点星星

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
cesium-sensor.js是一个用于Cesium的JavaScript库,它提供了一些传感器效果,如agi_conicSensor、agi_rectangularSensor、agi_customPatternSensor和agi_Vector。你可以通过引入cesium-sensor.js文件来使用这些效果。 以下是一个使用cesium-sensor.js的示例代码: ```javascript // 引入cesium-sensor.js文件 import "/js/cesium-sensor-volumes"; // 创建一个Cesium Viewer对象 var viewer = new Cesium.Viewer("cesiumContainer"); // 创建一个传感器对象 var sensor = new Cesium.ConicSensorGraphics({ // 设置传感器的位置和方向 position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883, 1000), direction: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883, 100), // 设置传感器的其他属性 radius: 1000, innerHalfAngle: Cesium.Math.toRadians(30), outerHalfAngle: Cesium.Math.toRadians(60), showIntersection: true, intersectionColor: Cesium.Color.RED, intersectionWidth: 2, }); // 将传感器对象添到场景中 viewer.entities.add({ position: sensor.position, orientation: sensor.orientation, conicSensor: sensor, }); // 设置相机的初始位置和方向 viewer.camera.setView({ destination: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883, 10000), orientation: { heading: Cesium.Math.toRadians(0), pitch: Cesium.Math.toRadians(-90), roll: Cesium.Math.toRadians(0), }, }); ``` 这段代码演示了如何使用cesium-sensor.js库创建一个圆锥传感器,并将其添到Cesium的场景中。你可以根据需要调整传感器的位置、方向和其他属性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端小孟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值