随笔 - 87,  文章 - 0,  评论 - 1,  阅读 - 95666

今天遇见一个需求就是根据按钮选择切换局部的底图样式,设计那边提供的底图是一张图片,然后根据不同的选择,切换不同的图片

功能展示就是这样的:

 

话不多说直接上方法:(因为做项目的时候封装了一个class类,cesium的初始化以及各种功能都是在类中写的,下面的方法就是添加自定义图片地图的方法,this.viewer是cesium实例)

复制代码
addImage(url) {
        if (!url) return
     // 为了避免图层叠加效果不好,所以每一次叠加新的图片的时候都会清除上一次叠加的图片 if (this.myImageLayer) { this.viewer.imageryLayers.remove(this.myImageLayer); }
const provider = new Cesium.SingleTileImageryProvider({
     // url 是底图图片的地址,保存在本地项目的文件夹中,通过require的方式引入地址
url: url,
      // retangle 中的那个矩形,分别是左下角,右上角的经纬度,记住一定要找专业工具定位,否则手动调整你永远也调整不齐和下面的局部底图轮廓对不上 rectangle:
new Cesium.Rectangle.fromDegrees(110.8477134921535, 23.4309905034903, 111.6621391816419, 24.1719699011482), })       // 下面这行代码也很重要哈,没有这行代码页面就没有展示的效果 this.myImageLayer = this.viewer.imageryLayers.addImageryProvider(provider); }
复制代码

* 要特别说明一下提供的底图要透明背景的,否则就会带着背景色,渲染上去就是一个矩形并且是带着背景色的矩形,哈哈哈哈哈,那时候你还会莫名奇妙找原因

posted on   菜鸟成长日记lx  阅读(817)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示