在二维地图上,可以在地图上放置一个柱状图表达数量的多少,在三维地图上把要素往上拉伸一定的高度来表达其属性。下面是把面状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);
}
});