小編給大家分享一下Cesium如何批量加載立體線,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)技術團隊十余年來致力于為客戶提供做網(wǎng)站、成都網(wǎng)站建設、品牌網(wǎng)站建設、成都營銷網(wǎng)站建設、搜索引擎SEO優(yōu)化等服務。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗豐富的技術團隊,先后服務、推廣了數(shù)千家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機構單位。
Cesium的官網(wǎng)程序樣例中,如何把一條線,畫成一個立體的形狀,詳細地址為:https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/index.html?src=Corridor.html&label=Geometries
Cesium的官網(wǎng)程序樣例中,如何加載geojson的數(shù)據(jù),詳細地址為:https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/index.html?src=GeoJSON%20and%20TopoJSON.html&label=DataSources
那么,如何將geojson的數(shù)據(jù),批量的加載成立體的線狀模式呢,下邊列舉詳細的實現(xiàn)代碼:
把geojson給加載進來,采用同步等待的方式;
let promise = Cesium.GeoJsonDataSource.load('data/guizhouroad1.geojson');
在等待事件中,執(zhí)行將線轉換成立體柱狀;
promise.then(function(dataSource) {
//geojson加載進來的實體
let entities = dataSource.entities.values;
//轉換立體柱狀線
entity.polylineVolume = new Cesium.PolylineVolumeGraphics({
//設置位置
positions: entity.polyline.positions,
//計算立體柱狀坐標
shape: computeCircle(300.0),
//設置顏色或貼圖
material: Cesium.Color.RED
});
//設置平面先為空
entity.polyline = null;
}
//添加數(shù)據(jù)源并縮放過去
viewer.dataSources.add(dataSource);
viewer.zoomTo(viewer.entities);
console.log(idx);
}).otherwise(function(error) {
window.alert(error);
});
//計算立體柱狀函數(shù)
function computeCircle(radius) {
var positions = [];
for(var i = 0; i < 360; i += 2) {
var radians = Cesium.Math.toRadians(i);
positions.push(new Cesium.Cartesian2(radius * Math.cos(radians), radius * Math.sin(radians)));
}
return positions;
}
看完了這篇文章,相信你對“Cesium如何批量加載立體線”有了一定的了解,如果想了解更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站欄目:Cesium如何批量加載立體線
網(wǎng)站URL:http://aaarwkj.com/article18/gghegp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、域名注冊、用戶體驗、App開發(fā)、品牌網(wǎng)站建設、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)