欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue使用cesium創(chuàng)建數(shù)據(jù)白模方式

 更新時(shí)間:2023年10月31日 10:57:06   作者:Demain-  
這篇文章主要介紹了vue使用cesium創(chuàng)建數(shù)據(jù)白模方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

使用cesium創(chuàng)建數(shù)據(jù)白模

引入cesium

引入cesium.js相關(guān)資源,這這里說明一下為什么沒有使用npm install cesium,因?yàn)槭褂胣pm下載cesium,打包的時(shí)候文件太大了,所以在這里使用了cdn引入的方式;

<link  rel="external nofollow"    rel="stylesheet">
<script src="https://cesium.com/downloads/cesiumjs/releases/1.74/Build/Cesium/Cesium.js"></script>

使用

在使用的頁面引入widgets.css,也可以直接在main.js中直接引入

<template>
  <div class="">
    <div id="cesiumContainer">
    </div>
  </div>
</template>
<script>
import 'cesium/Build/Cesium/Widgets/widgets.css';
 
export default {
  name: 'HelloWorld',
  data() {
    return {
      viewer:null
    }
  },
  mounted(){
    this.initCesium()
  },
  methods:{
    initCesium(){
      Cesium.Ion.defaultAccessToken = "申請(qǐng)的token"; 
      Cesium.Camera.DEFAULT_VIEW_RECTANGLE = Cesium.Rectangle.fromDegrees( 90, -20, 110, 90); //西南東北,默認(rèn)顯示中國
      this.viewer = new Cesium.Viewer('cesiumContainer', {
        imageryProvider: new Cesium.ArcGisMapServerImageryProvider({
          url: 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer'
        }),
        animation: false,
        timeline: false,  //時(shí)間線
        fullscreenButton: true,  //全屏模式
        infoBox: false,  //要素信息框
        homeButton: false, //顯示主頁
        geocoder: true, //搜索位置
        sceneModePicker: true,//模式切換
        selectionIndicator: true, //展示三維的指示器
        navigationHelpButton: false, //幫助按鈕
        navigationInstructionsInitiallyVisible: false
      });
      // var longitude = 113.3061993318322; //地圖設(shè)置默認(rèn)位置
      // var latitude = 22.97302468714043;
      var height = -1.1406325468715177e-9;
      var heading = 0;
      var tileset = new Cesium.Cesium3DTileset({
        url:'https://lab.earthsdk.com/model/702aa950d03c11e99f7ddd77cbe22fea/tileset.json', //測試數(shù)據(jù)上海東方明珠建筑數(shù)據(jù)
      
        maximumMemoryUsage: 100,//不可設(shè)置太高,目標(biāo)機(jī)子空閑內(nèi)存值以內(nèi),防止瀏覽器過于卡
        maximumScreenSpaceError: 32,//用于驅(qū)動(dòng)細(xì)節(jié)細(xì)化級(jí)別的最大屏幕空間錯(cuò)誤;較高的值可提供更好的性能,但視覺質(zhì)量較低。
        maximumNumberOfLoadedTiles: 1000,  //最大加載瓦片個(gè)數(shù)
        shadows: false,//是否顯示陰影
        skipLevelOfDetail: true,// 確定是否應(yīng)在遍歷期間應(yīng)用詳細(xì)級(jí)別跳過(默認(rèn)false)
        baseScreenSpaceError: 1024,//When skipLevelOfDetailis true,在跳過詳細(xì)級(jí)別之前必須達(dá)到的屏幕空間錯(cuò)誤(默認(rèn)1024)
        skipScreenSpaceErrorFactor: 16,// 定義要跳過的最小屏幕空間錯(cuò)誤的乘數(shù)。與 一起使用skipLevels來確定要加載哪些圖塊(默認(rèn)16)
        skipLevels: 1,//skipLevelOfDetail是true 一個(gè)常量,定義了加載圖塊時(shí)要跳過的最小級(jí)別數(shù)。為 0 時(shí),不跳過任何級(jí)別。與 一起使用skipScreenSpaceErrorFactor來確定要加載哪些圖塊。(默認(rèn)1)
        immediatelyLoadDesiredLevelOfDetail: false,//當(dāng)skipLevelOfDetail是時(shí)true,只會(huì)下載滿足最大屏幕空間錯(cuò)誤的圖塊。忽略跳過因素,只加載所需的圖塊(默認(rèn)false)
        loadSiblings: false,// 如果為true則不會(huì)在已加載完概況房屋后,自動(dòng)從中心開始超清化房屋 --- 何時(shí)確定在遍歷期間skipLevelOfDetail是否true始終下載可見瓦片的兄弟姐妹(默認(rèn)false)
        cullWithChildrenBounds: true,//是否使用子邊界體積的并集來剔除瓦片(默認(rèn)true)
        dynamicScreenSpaceError: true,//減少距離相機(jī)較遠(yuǎn)的圖塊的屏幕空間錯(cuò)誤(默認(rèn)false)
        dynamicScreenSpaceErrorDensity: 0.00278,//數(shù)值加大,能讓周邊加載變快 --- 用于調(diào)整動(dòng)態(tài)屏幕空間誤差的密度,類似于霧密度(默認(rèn)0.00278)
        dynamicScreenSpaceErrorFactor: 4.0,// 用于增加計(jì)算的動(dòng)態(tài)屏幕空間誤差的因素(默認(rèn)4.0)
        dynamicScreenSpaceErrorHeightFalloff: 0.25//密度開始下降的瓦片集高度的比率(默認(rèn)0.25)
      });
      this.viewer.scene.primitives.add(tileset);
      tileset.readyPromise.then(function(argument) {
        var position = Cesium.Cartesian3.fromDegrees(longitude, latitude, height);
        var mat = Cesium.Transforms.eastNorthUpToFixedFrame(position);
        var rotationX = Cesium.Matrix4.fromRotationTranslation(Cesium.Matrix3.fromRotationZ(Cesium.Math.toRadians(heading)));
        Cesium.Matrix4.multiply(mat, rotationX, mat);
        tileset._root.transform = mat;
        this.viewer.camera.flyTo({destination: Cesium.Cartesian3.fromDegrees(longitude, latitude, height + 1000)});
      });
   
    },
  }
}
</script>
<style lang="scss" scoped>
#cesiumContainer{
  width: 100%;
  height: 1000px;
}
</style>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論