位置: IT常识 - 正文

【Cesium】vue项目加载3DTileset(.b3dm 格式)(vue+cesium怎么实现地图的加载)

编辑:rootadmin
【Cesium】vue项目加载3DTileset(.b3dm 格式)

推荐整理分享【Cesium】vue项目加载3DTileset(.b3dm 格式)(vue+cesium怎么实现地图的加载),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cesium+vue,vue+cesium怎么实现地图的加载,cesium.rectangle.fromdegress,cesium.viewer,cesium.viewer,vue cesium,vue+cesium怎么实现地图的加载,vue cesium,内容如对您有帮助,希望把文章链接给更多的朋友!

安装vue-cli-plugin-cesium 专门为脚手架vue-cli3.0和2.0打造的针对Cesium的VueCli扩展插件,自动化包括:

        1.自动扩展 VueCLI 中 Cesium 相关的 webpack 配置

【Cesium】vue项目加载3DTileset(.b3dm 格式)(vue+cesium怎么实现地图的加载)

       2. 添加一个 cesium 别名,以便我们在项目中轻松的引入 Cesium 文件资源         使 Cesium 对象实例可在每个 Vue 模块中使用而无须 import 引入         使 webpack 可正常打包 Cesium         允许 webpack 友好地在 Cesium 中使用 require,解决 require 引入警告         开发环境生成 sourcemap,生产环境取消 sourcemap         生产环境抽取公共模块执行压缩         生产环境 loader 切换到优化模式

        3.自动在全局 main.js 中引入Widgets.css,可选

        4.自动在 components/ 文件夹下生成示例文件,可选  

首先安装 vue-cli-plugin-cesium 插件,推荐使用 yarn 安装,因为它更简洁// npmnpm install --save-dev vue-cli-plugin-cesium// yarnyarn add vue-cli-plugin-cesium<template> <div id="cesiumContainer"> </div></template><script >var Cesium =require("cesium/Cesium")export default { name: 'HelloWorld', props: { msg: String }, mounted(){Cesium.Camera.DEFAULT_VIEW_RECTANGLE = Cesium.Rectangle.fromDegrees(80, 22, 130, 55) //默认视角定位中国上空 var viewer = new Cesium.Viewer("cesiumContainer",{animation: false, //是否显示动画控件shouldAnimate: true,homeButton: false, //是否显示Home按钮fullscreenButton: false, //是否显示全屏按钮baseLayerPicker: true, //是否显示图层选择控件geocoder: true, //是否显示地名查找控件timeline: false, //是否显示时间线控件sceneModePicker: true, //是否显示投影方式控件navigationHelpButton: true, //是否显示帮助信息控件infoBox: true, //是否显示点击要素之后显示的信息requestRenderMode: true, //启用请求渲染模式// scene3DOnly: false, //每个几何实例将只能以3D渲染以节省GPU内存sceneMode: 3, //初始场景模式 1 2D模式 2 2D循环模式 3 3D模式 Cesium.SceneModefullscreenElement: document.body, //全屏时渲染的HTML元素 暂时没发现用处 // 地形 terrainProvider:new Cesium.createWorldTerrain({requestVertexNormals:true,requestWaterMask:true}) }) viewer.scene.globe.enableLighting = true; viewer._cesiumWidget._creditContainer.style.display = "none"; //去除版权样式//调用天地图瓦片 viewer.imageryProvider = new Cesium.WebMapTileServiceImageryProvider({ url: "http://t0.tianditu.com/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=你申请的token", layer: "tdtBasicLayer", style: "default", format: "image/jpeg", tileMatrixSetID: "GoogleMapsCompatible", show: false, mininumLevel: 0, maximumLevel: 16 }) //调用影响中文注记服务viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({ url: 'http://{s}.tianditu.gov.cn/cia_c/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cia&tileMatrixSet=c&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=9378d15741c526a104927f17e9438ab6', layer: "tdtImg_c", style: "default", format: "tiles", tileMatrixSetID: "c", subdomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"], tilingScheme: new Cesium.GeographicTilingScheme(), tileMatrixLabels: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19"], maximumLevel: 50, show: false }))//加载3DTiles function tilesetload(){console.log("11111111111111111111111111");var tileset = new Cesium.Cesium3DTileset({ url: 'http://localhost:8085/tileset.json',//我这里使用的本地iis代理的数据 后期会出iis如何代理瓦片数据的// url: 'http://localhost:8086/tileset.json', //控制切片视角显示的数量,可调整性能 // maximumScreenSpaceError: 2, // maximumNumberOfLoadedTiles: 100000,show:true,skipLevelOfDetail : true, baseScreenSpaceError : 1024, skipScreenSpaceErrorFactor : 16, skipLevels : 1, immediatelyLoadDesiredLevelOfDetail : false, loadSiblings : false, cullWithChildrenBounds : true }) viewer.scene.primitives.add(tileset);//定位到模型的位置 (async () => { try { await tileset.readyPromise; await viewer.zoomTo(tileset); // Apply the default style if it exists var extras = tileset.asset.extras; if ( Cesium.defined(extras) && Cesium.defined(extras.ion) && Cesium.defined(extras.ion.defaultStyle) ) { tileset.style = new Cesium.Cesium3DTileStyle(extras.ion.defaultStyle); } } catch (error) { console.log(error); } })(); } tilesetload() }, }</script><!-- Add "scoped" attribute to limit CSS to this component only --><style scoped>h3 { margin: 40px 0 0;}ul { list-style-type: none; padding: 0;}li { display: inline-block; margin: 0 10px;}a { color: #42b983;}::deep .cesium-viewer-bottom {display: none;}</style>

 这是设置模型的高程

tileset.readyPromise.then(function(tileset) { viewer.scene.primitives.add(tileset); var heightOffset = 11.0; //高度 var boundingSphere = tileset.boundingSphere; var cartographic = Cesium.Cartographic.fromCartesian(boundingSphere.center); var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0); var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, heightOffset); var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3()); tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation); viewer.zoomTo(tileset, new Cesium.HeadingPitchRange(0.5, -0.2, tileset.boundingSphere.radius * 1.0)); });

 

 亲测有效!!!

研究了好久 头发都掉了不少 总在一下 希望可以帮助到需要帮助的家人们! 有更好的想法 疑问 可以在线交流一番

本文链接地址:https://www.jiuchutong.com/zhishi/278732.html 转载请保留说明!

上一篇:win10待机唤醒花屏怎么办(win10待机唤醒黑屏死机)

下一篇:win10445端口关闭方法是什么(win10关闭端口号)

  • 什么是价税分离?
  • 如何判断会计政策变动
  • 按季度申报,利润表中所得税费用怎么算出来的
  • 财务报表没有申报表
  • 房地产企业土地成本分摊方法
  • 融资租入的企业有哪些
  • 垫付了医药费保险报销时怎么办
  • 已提完折旧车辆可以卖吗
  • 品种法在制造企业中的运用
  • 办公费税前扣除标准2022最新
  • 火车票抵扣进项税需要认证吗
  • 跨地区经营建筑企业预缴企业所得税
  • 分配利润怎么做科目
  • 非公司车辆的使用费如何入账?
  • 对境外支付佣金的规定
  • 企业所得税怎么征收几个点
  • 项目结束,财务应该怎么做
  • 坏账准备转回影响应交所得税吗
  • win11玩游戏怎样
  • 网络适配器感叹号代码43
  • win11安装失败无法开机
  • 怎么批量给指定条件加入批注
  • 在windows 7中
  • 公司购买预付卡送礼怎么入账
  • linux 密码重置
  • 产品成本核算方法的构成要素
  • 跨省经营建筑企业税收政策
  • 为什么磁盘会消失
  • 辅导期一般纳税人标准
  • 小程序开发一个多少钱啊
  • 微信小程序开发一个多少钱
  • 前端项目性能优势怎么写
  • bert数据增强
  • 浅析Laravel5中队列的配置及使用
  • 汇算清缴补交所得税怎么做凭证
  • 发票已开不确认收入可以吗?
  • 物价变动的影响因素
  • 民营医疗机构是指哪些
  • java基础介绍
  • 劳务报酬个人所得税税率表2023
  • 分公司注销总公司出的文件模板
  • 劳务费与应付职工薪酬的区别
  • 利润表中的资产处置收益应该计入营业利润还是利润总额
  • 增值税期末留抵退税原因采集确认单
  • 结转产品成本怎么算
  • 小规模纳税人按1%
  • 增值税普通发票和电子普通发票的区别
  • 股权转让对价款如何计算
  • 电子缴税付款凭证怎么做记账凭证
  • 单据 凭证
  • 转回小规模
  • 车票抵扣进项税怎么计算
  • 收到伙食费的会计处理
  • sql kill进程
  • win7防病毒设置在哪
  • 开机越来越慢会不会是硬件的问题
  • win10 系统桌面
  • kmsss.exe是什么
  • win8开始菜单变为win10
  • linux小技巧
  • linux虚拟空间
  • js的forin
  • Android游戏开发案例教程小小弹球
  • js如何创建类
  • 怎么用node.js写接口
  • Linux 下mysql通过存储过程实现批量生成记录
  • 批处理文件bat
  • js函数function用法
  • r+python
  • Python中str is not callable问题详解及解决办法
  • javascript从入门到放弃
  • shell读取文本
  • jquery ztree选中节点颜色
  • js动态添加trtd
  • jquery实现图片放大
  • 货物劳务税包括哪些税
  • 大米包装有二道封口线正常吗
  • 贵州省电子税务
  • 购房合同交契税怎么交
  • 深圳机打发票查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设