Cesium加载面状geojson数据,并拉伸一定的高度。

        在二维地图上,可以在地图上放置一个柱状图表达数量的多少,在三维地图上把要素往上拉伸一定的高度来表达其属性。下面是把面状geojson数据添加到地图上并随机往上拉伸一定高度。

1、主要代码段:

            Cesium.Math.setRandomNumberSeed(0);  //设置随机数种子
            var promise = Cesium.GeoJsonDataSource.load('json/ShanDong.json'); //geojson面数据
            promise.then(function(dataSource) {
                viewer.dataSources.add(dataSource);
                var entities = dataSource.entities.values;
                var colorHash = {};
                for (var i = 0; i < entities.length; i++) {
                    var entity = entities[i];
                    var name = entity.name;  //geojson里面必须得有一个name属性,entity.name对应
                    var color = colorHash[name]; //可以使两个同名要素使用同一种颜色。。。
                    if (!color) {
                        color = Cesium.Color.fromRandom({
                            alpha : 1.0
                        });
                        colorHash[name] = color;
                    }
                    entity.polygon.material = color;
                    entity.polygon.outline = false;
                    entity.polygon.extrudedHeight = Math.floor(Math.random()*40000+20000) //20000~60000的随机数,单位是米
                    viewer.zoomTo(promise);
                }
            });

效果图:

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值