Mars3d引用单个示例文件WeiVectorTileLayer.js报错的解决办法

news2024/12/27 10:15:14

参考文档修改文件后,发现依然报错:

Mars3d单独引用示例文件教程_3d文件示例_绵绵-火星科技的博客-CSDN博客

具体报错截图:

 

 看报错是: CesiumVectorTile.js里的错误,进去看看错误行,是不是缺cesium

  // if (typeof exports === "object" && typeof module === "object") module.exports = factory(require("mars3d-cesium"), require("@turf/turf"))

  // else if (typeof define === "function" && define.amd) define("CesiumVectorTile", ["mars3d-cesium", "@turf/turf"], factory)

  // else if (typeof exports === "object") exports["CesiumVectorTile"] = factory(require("mars3d-cesium"), require("@turf/turf"))

  // else root["CesiumVectorTile"] = factory(root["Cesium"], root["turf"])

以上面注释的代码中没有请求到@turf/turf库的原因

CesiumVectorTile.js文件修改了导入设置:

import * as Cesium from "mars3d-cesium"

import * as turf from "@turf/turf"

let CesiumVectorTile

;(function webpackUniversalModuleDefinition(root, factory) {

    CesiumVectorTile = factory(Cesium, turf)

CesiumVectorTile.js文件的末尾修改配置:

export { CesiumVectorTile }

WeiVectorTileLayer.js 文件的配置:

//按mars3d规范,将CesiumVectorTile封装下

import * as mars3d from "mars3d"

import {CesiumVectorTile} from './CesiumVectorTile'

export   class WeiVectorTileLayer extends mars3d.layer.BaseTileLayer {

    //构建ImageryProvider

    _createImageryProvider(options) {

      return createImageryProvider(options)

    }

  }

  function createImageryProvider(options) {

    return new CesiumVectorTile.VectorTileImageryProvider(options) //CesiumVectorTile.js中

  }

  WeiVectorTileLayer.createImageryProvider = createImageryProvider

  //注册下

  const layerType = "weiVectorTile" //图层类型

  mars3d.LayerUtil.register(layerType, WeiVectorTileLayer)

  mars3d.LayerUtil.registerImageryProvider(layerType, createImageryProvider)

  //对外接口

  mars3d.layer.WeiVectorTileLayer = WeiVectorTileLayer

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/455005.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数组题目总结 -- 差分数组

零. 差分数组工具类 1. 思路和代码 diff 存在的意义就是想要通过构建 diff 数组来实现对原数组(nums)频繁的加减操作。差分数组的构建代码: int[] res new int[diff.length]; // 根据差分数组构造结果数组 res[0] diff[0]; for (int i …

Qt QWidget 抗锯齿圆角窗口的一个实现方案(支持子控件)

QWidget抗锯齿圆角窗口的一个实现方案 由于 QWidget::setMask 接口设置圆角不支持抗锯齿,所以通常会使用透明窗口加圆角背景,但圆角背景不能满足对子控件的裁剪,子控件与圆角区域重叠的部分还是能显示出来。当然对于大多数窗口,留…

Linux-初学者系列——篇幅7_文本编辑和处理命令

文本编辑和处理命令-目录 一、系统基本编辑命令安装vim软件工具包语法格式: 1、vim编辑命令模式01 普通模式02 编辑模式03 命令模式 2、编辑文件技巧01 批量删除多行指定信息02 批量增加多列指定信息03 编辑常见问题错误1:没有指定编辑信息错误2&#xf…

Kubernetes Service、Ingress、Ingress Controller

Kubernetes 网络模型 Kubernetes 对网络设施的基本要求 Pod 能够与所有其它节点上的 Pod 相互通信, 且不需要网络地址转译(NAT) 节点上的代理(比如:系统守护进程、kubelet)可以和节点上的所有 Pod 相互通…

基于Html+Css的图片展示25

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

SLAM论文速递【SLAM—— RDS-SLAM:基于语义分割方法的实时动态SLAM—4.24(1)

论文信息 题目: RDS-SLAM:Real-Time Dynamic SLAM Using Semantic Segmentation Methods RDS-SLAM:基于语义分割方法的实时动态SLAM论文地址: https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber9318990发表期刊: IEEE Access ( Volum…

如何发起一次完整的HTTP的请求流程

目录 💡 预备知识 🔊 浏览器端发起 HTTP 请求流程 1、构建请求 2、查找缓存 3、准备IP地址和端口 4、等待TCP队列 5、建立TCP连接 6、发送HTTP请求 🔊 服务器端处理 HTTP 请求流程 1、返回请求 2、断开连接 3、重定向 HTTP 是一种…

【hello Linux】文件时间

目录 1. 简单介绍文件的三个时间: 2. 查看文件时间的命令: 3. makefile的时间编译原理: Linux🌷 1. 简单介绍文件的三个时间: 在Linux中,记录着文件的三方面时间: 1. Access:记…

适合小白的docker实战演示——docker基础入门命令

一、docker简单背景介绍 docker是dotCloud公司开源的一个基于LXC(LXC为Linux Container的简写。Linux Container 容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源)的高级容器引擎,源码托管在Gith…

JAVA——线程池

目录 一、线程池的概念 二、Java标准库中的线程池 三、ThreadPoolExecutor 类的参数 四、线程池的拒绝策略 五、模拟实现线程池 一、线程池的概念 线程池顾名思义就是集中存储线程的地方——联想一下水池。 线程池是一种多线程处理形式,处理过程中将任务添加到…

PostMan笔记(五)数据监控与压力测试

1. 数据监控 1.1 说明 Postman提供了一种方便的方式来监控API请求和响应数据,以便在测试和开发过程中查看和分析API的性能和功能。数据监控允许您在实时和历史记录中查看API请求和响应数据,并使用图表和统计信息对其进行可视化分析。 1.2 怎么使用数据…

KuiperInfer深度学习推理框架-源码阅读和二次开发(2):算子开发流程(以sigmoid为例)

前言:KuiperInfer是一个从零实现一个高性能的深度学习推理库,中文教程已经非常完善了。本系列博客主要是自己学习的一点笔记和二次开发的教程,欢迎更多的AI推理爱好者一起来玩。这篇写一下算子开发流程,以sigmoid算子为例&#xf…

音视频技术开发周刊 | 290

每周一期,纵览音视频技术领域的干货。 新闻投稿:contributelivevideostack.com。 TCSVT 2022 | 基于环路多帧预测的深度视频压缩 本文基于端到端深度视频压缩框架,提出了一种环路多帧预测模块(in-loop frame prediction module&a…

UV坐标应用范例——计算屏幕坐标作为UV

迷幻角色背景 大家好,我是阿赵。 之前介绍过了经典的Shader写法,物体顶点坐标在顶点程序转换到裁剪空间,然后在片段程序里面通过模型的UV进行贴图采样,然后把颜色显示在模型上面。 之前也介绍过经典的顶点程序应用,树木…

26.Spring-AOP(切面编程)

目录 一、Spring-AOP。 (1)AOP的简介。 (2)AOP的底层实现-动态代理。 (2.1)JDK的动态代理。 (2.2)cglib的动态代理。 (3)AOP的相关概念。 &#xff0…

【Linux】5、使用 Linux 快捷按键小技巧

目录 一、CTRL C二、CTRL D三、history 命令四、CTRL R五、光标移动快捷方式六、清屏 一、CTRL C 🥁 ① 可用于强制停止某些程序的运行 🥁 ② 若命令输入错误,可用它退出当前命令 二、CTRL D 🥁 ① 退出登录的账户 &#…

WEB APIs day2

一、Dom事件基础 1.事件监听&#xff08;绑定&#xff09; 1.1 事件监听 一旦绑定后&#xff0c;这个函数不会立即执行的&#xff0c;事件什么时候触发什么时候执行 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8">…

Pyinstaller打包python文件太大?教你三个小技巧有效减小文件体积

简介 有时候需要在未安装Python环境的平台上运行py程序&#xff0c;使用pyinstaller打包很方便&#xff0c;但打包后的可执行文件实在是太大了。原因在于打包时pyinstaller本就已经关联了很多的python内联模块&#xff0c;加上我们项目中存在过多第三方类库&#xff0c;打包的…

优思学院|质量人如何利用ChatGPT提升工作效率?

在许多人知道怎么用ChatGPT之后&#xff0c;不少人开始思考如何利用这个工具来提升自己的工作效率。 质量人也不例外&#xff0c;在质量管理中&#xff0c;有许多重复的任务需要人手去完成。这些任务可能包括检查文档、审查流程、跟踪错误等。这些任务既耗费时间&#xff0c;又…

MAVEN环境变量配置(Windows 11)

1、直接在搜索框中搜&#xff1a;编辑系统环境变量 2、点击环境变量 3、 在系统变量里面新建系统变量 变量名&#xff1a;MAVEN_HOME 变量值&#xff1a;路径一定要写到maven的bin目录下 以下这种写法是错误的 4、新建系统变量完成 5、 往下滑 找到path&#xff0c;可以双击…