Cesium 初始化Viewer


<pre name="code" class="javascript"><script>  
    var viewer = new Cesium.Viewer('cesiumContainer');  
     viewer._cesiumWidget._creditContainer.style.display="none";   
  </script></pre>  
<pre></pre>  
<p><br>  
</p>  
<pre></pre>  
        僅僅一句代碼我們就可以加載進來一個地球和各種地圖,但是有很多功能可能是需要關閉或者開啟的~  
<p></p>  
<p>        詳細的設置可以參考如下,這部分內容我沒有再去查API,而是直接引用了GISEarth的博客中的這部分說明,供大家參考。由於我不需要多余的按鈕,所以我就把Cesium本來帶的組件全部隱藏啦~</p>  
<p></p>  
<pre name="code" class="javascript">var viewer = new Cesium.Viewer( 'cesiumContainer', {    
    animation : false,//是否創建動畫小器件,左下角儀表    
    baseLayerPicker : false,//是否顯示圖層選擇器    
    fullscreenButton : false,//是否顯示全屏按鈕    
    geocoder : false,//是否顯示geocoder小器件,右上角查詢按鈕    
    homeButton : false,//是否顯示Home按鈕    
    infoBox : false,//是否顯示信息框    
    sceneModePicker : false,//是否顯示3D/2D選擇器    
    selectionIndicator : false,//是否顯示選取指示器組件    
    timeline : false,//是否顯示時間軸    
    navigationHelpButton : false,//是否顯示右上角的幫助按鈕    
    scene3DOnly : true,//如果設置為true,則所有幾何圖形以3D模式繪制以節約GPU資源    
    clock : new Cesium.Clock(),//用於控制當前時間的時鍾對象    
    selectedImageryProviderViewModel : undefined,//當前圖像圖層的顯示模型,僅baseLayerPicker設為true有意義    
    imageryProviderViewModels : Cesium.createDefaultImageryProviderViewModels(),//可供BaseLayerPicker選擇的圖像圖層ProviderViewModel數組    
    selectedTerrainProviderViewModel : undefined,//當前地形圖層的顯示模型,僅baseLayerPicker設為true有意義    
    terrainProviderViewModels : Cesium.createDefaultTerrainProviderViewModels(),//可供BaseLayerPicker選擇的地形圖層ProviderViewModel數組    
    imageryProvider : new Cesium.OpenStreetMapImageryProvider( {    
        credit :'',    
        url : '//192.168.0.89:5539/planet-satellite/'    
    } ),//圖像圖層提供者,僅baseLayerPicker設為false有意義    
    terrainProvider : new Cesium.EllipsoidTerrainProvider(),//地形圖層提供者,僅baseLayerPicker設為false有意義    
    skyBox : new Cesium.SkyBox({    
        sources : {    
          positiveX : 'Cesium-1.7.1/Skybox/px.jpg',    
          negativeX : 'Cesium-1.7.1/Skybox/mx.jpg',    
          positiveY : 'Cesium-1.7.1/Skybox/py.jpg',    
          negativeY : 'Cesium-1.7.1/Skybox/my.jpg',    
          positiveZ : 'Cesium-1.7.1/Skybox/pz.jpg',    
          negativeZ : 'Cesium-1.7.1/Skybox/mz.jpg'    
        }    
    }),//用於渲染星空的SkyBox對象    
    fullscreenElement : document.body,//全屏時渲染的HTML元素,    
    useDefaultRenderLoop : true,//如果需要控制渲染循環,則設為true    
    targetFrameRate : undefined,//使用默認render loop時的幀率    
    showRenderLoopErrors : false,//如果設為true,將在一個HTML面板中顯示錯誤信息    
    automaticallyTrackDataSourceClocks : true,//自動追蹤最近添加的數據源的時鍾設置    
    contextOptions : undefined,//傳遞給Scene對象的上下文參數(scene.options)    
    sceneMode : Cesium.SceneMode.SCENE3D,//初始場景模式    
    mapProjection : new Cesium.WebMercatorProjection(),//地圖投影體系    
    dataSources : new Cesium.DataSourceCollection()    
    //需要進行可視化的數據源的集合    
} );    
</pre><br>  
<p></p>  
<p>        對camera進行設置,我們就可以定義初始化時的鏡頭、視角~下面這段代碼就是將鏡頭定位在經緯度為(111.07,39.05)的地方,高度為1萬公里,下面的heading、pitch和roll就是鏡頭相對於xyz軸的角度,比如pitch為-90°而另外兩個為0時,就是90°向下俯視地球。</p>  
<p></p>  
<pre name="code" class="javascript">        viewer.camera.setView({  
            destination: Cesium.Cartesian3.fromDegrees(111.07, 39.05, 10000),  
            orientation: {  
                heading : Cesium.Math.toRadians(0),  
            pitch : Cesium.Math.toRadians(-90),  
            roll : Cesium.Math.toRadians(0)                            
            }  
        });  </pre>          
<p></p>  
<p>        最后得到的就是下圖所示的效果,很多按鈕都被隱藏了,打開時也不再是整個地球,而是只有我需要的這一小部分,這樣子就更方便后面的操作啦~</p>  
<p>        ps:如果是沒有學過web的初學者,上面那一大串代碼都放在<script></script>標簽里就可以啦~當年我是純小白的時候,看到一段一段的代碼也是雲里霧里,因為總是不知道放在哪里>///<<br>  
<img src="http://img.blog.csdn.net/20171018161516803?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemx4MzEy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt=""><br>  
</p>  
<p>這一節就到這里啦,地圖有了,下一步就是希望在gis地圖上搞事情啦啦啦~~</p>  
<link rel="stylesheet" href="http://static.blog.csdn.net/public/res-min/markdown_views.css?v=2.0"> 

原文:http://blog.csdn.net/zlx312/article/details/78273537


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM