- 博客(270)
- 资源 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 cesium1.102.0及以上版本自定义GLSL报“texture2D‘ : no matching overloaded function found”错误
cesium1.102.0以上版本将不再使用webGL1进行上下文渲染版本改为webgl2版本,导致不在兼容‘texture2D’。
2023-10-18 22:45:33
972
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 cesium态势标会(钳击箭头)
vue + cesium钳击箭头标绘与编辑,采用es6模块化写法逻辑清晰,会有明显的标注说明,使代码容易读懂,理解和学习
2022-05-18 17:50:10
1451
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 cesium态势标绘 ( 绘制攻击箭头)
vue + cesium攻击箭头标绘与编辑,采用es6模块化写法逻辑清晰,会有明显的标注说明,使代码容易读懂,理解和学习
2022-05-18 17:33:27
2605
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 cesium自定义的弹窗 Popup弹窗(可随球放大缩小,移动)
# 效果图中效果源代码在下面的封装栏中# 基本思路添加一个鼠标左键点击事件,当鼠标点击时,利用vue2.0中 Vue.extend() 动态添加一个dom元素,将DOM元素渲染到cesium容器中,并利用cesium中提供的 viewer.scene.postRender 实时更新坐标位置。思路很简单,接下来我们进行实现。# 实现方法 1. 首先我们需要生成一个球体做我们标记的容器。viewer = new Cesium.Viewer('cesiumContainer',{
2021-08-23 11:15:05
14765
41
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 cesium 闪烁点 实体闪烁
# 效果最终完整代码请看下面的封装一栏 # 基本思路可以把当前效果,动态分成两部分,添加一个点,和添加一个圆,当点击时,动态改变点的颜色,动态改变圆的大小# 实现方法 1. 首先我们需要生成一个球体做我们标记的容器。viewer = new Cesium.Viewer('cesiumContainer',{ // terrainProvider: Cesium.createWorldTerrain(), // animation: false
2021-08-23 11:14:05
4707
8
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 cesium添加动态扩散圆,动态圆环
# 效果最终完整代码请看下面的封装一栏 # 基本思路基本思路就是我们先添加一个圆,动态改变他的材质,和大小,然后就出现上图一样的动态效果了,下面我们来实现一下# 实现思路我们先来加载一个原形,展示在地图上。官方文档地址https://cesium.com/learn/cesiumjs/ref-doc/EllipseGraphics.html 不会的可以自行看文档let entity = this.viewer.entities.add({ position: Cesiu
2021-08-08 10:15:53
64770
21
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 ceisum 鼠标拖拽移动实体
# 效果完整代码请看下面封装栏# 基本思路鼠标拖拽主要化分为3步,分别为鼠标按下事件,鼠标移动事件,鼠标抬起事件。当鼠标按下时获取该实体,当鼠标移动时动态改变实体经纬度,当鼠标抬起时,销毁事件,听起来很简单,现在我们来进行实现# 实现方法handlers(){ this.handler = new Cesium.ScreenSpaceEventHandler(this.viewer.scene.canvas); // 鼠标左键按下 this.leftDownAction(
2021-08-01 16:27:26
1324
4
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Cesium-雷达遮罩动态扫描
# 效果# 基本思路我们将他分为两个步骤来做第一步加载一个ellipsoid加载半圆体,第二步用cesium提供的wall属性加载一个立体墙,运用cesium提供的viewer.clock.onTick开启动画效果听起来很简单。下面我们来进行实现# 实现方法第一步我们先用cesium中提供ellipsoid方法加载半圆体,先看一下ellipsoid中都有哪些属性属性名属性含义distanceDisplayCondition指定将在距相机多远的距离显示和隐藏 new Ce
2021-07-29 09:27:57
3470
6
原创 cesium 气象图加echarts时间轴
cesium 气象图加echarts时间轴更多内容/样例[cesium实战目录](https://blog.csdn.net/weixin_46730573/article/details/141018763)
2024-08-24 23:23:25
1
原创 前端面试题139(你在开发过程中,使用过哪些TS的特性或者能力?)
类型守卫是自定义的函数或条件语句,用于在代码块内缩小变量的类型范围。根据已有类型创建新类型,通过映射类型可以生成新的类型结构。分发条件类型,允许条件类型在联合类型上进行分发。用于类型断言,允许将一个变量断言为特定的类型。根据类型关系进行条件判断生成不同的类型。关键字允许在泛型条件类型中推断类型变量。运算符用于检查对象是否是特定类的实例。的参数类型组成的元组类型。使用字符串模板创建新类型。中排除可以赋值给类型。中提取可以赋值给类型。的所有属性变为可选。的所有属性变为必选。的所有属性变为只读。
2024-08-22 07:43:11
190
原创 前端面试题138(ts项目中,如何使用node_modules里面定义的全局类型包到自己项目src下面使用)
安装类型定义包:通过 npm 或 yarn 安装全局类型定义。配置:在文件中添加types配置项。使用类型:在项目源代码中通过import显式地导入类型。这样,你就可以在 TypeScript 项目中使用中的全局类型定义了。记住,最好的做法是不要把包当成全局包来使用,即使它们是全局的。通过显式地导入所需的模块,可以有助于工具如linters和bundlers更好地追踪依赖关系,并可以在以后的代码分析和维护中发挥重要作用。
2024-08-22 07:35:28
278
原创 cesium 添加缓冲区域(点)
1、添加一个点计算出他的经纬度。// 屏幕坐标转为世界坐标。2、将将经纬度传入,turf中计算缓冲区域。// 世界坐标转换为弧度。// 弧度转换为经纬度。// 初始化区域分析。
2024-08-20 23:00:20
76
原创 前端面试题137(在TypeScript中如何利用映射类型(Mapped Types)来实现类型之间的转换,并给出一个例子)
首先,我们需要定义一个Person通过使用映射类型,我们可以轻松地基于现有的类型创建新的类型,并且能够对属性进行转换。在本例中,我们通过将属性标记为只读来创建了一个只读版本的对象类型。这种方法同样可以应用于其他场景,例如改变属性的可选性、添加或移除特定属性等。
2024-08-20 07:16:07
311
原创 前端面试题136(在TypeScript中,如何确保泛型函数的类型参数满足特定的约束或条件?)
以上介绍的方法可以帮助你在使用泛型时添加更多的约束条件,从而确保类型的安全性和代码的可靠性。通过这些约束,你可以更精确地控制你的代码,使其更易于维护和理解。
2024-08-19 07:36:22
295
原创 前端面试题135(请解释一下在TypeScript中如何实现装饰器(Decorators),并分享一个在项目中使用装饰器的示例)
装饰器是一种特殊的声明,它能够增强类、方法、属性或参数的功能。在TypeScript中,装饰器是通过在目标声明前加上这样的语法来使用的。首先,我们需要定义一个装饰器函数,该函数接收上述的三个参数,并返回一个新的属性描述符。${// 保留原始方法的元数据 descriptor . value . toString = function() {// 保留原始方法的元数据装饰器是TypeScript中非常强大的特性,可以用来在编译时或运行时修改类的行为。
2024-08-19 07:32:12
224
原创 前端面试题134(如何在TypeScript项目中使用InversifyJS或其他依赖注入库,并说明它如何帮助您管理依赖关系和提高代码的可测试性)
在TypeScript项目中使用InversifyJS进行依赖注入可以帮助您更好地组织代码、解耦组件之间的依赖关系,并提高代码的可测试性。InversifyJS是一个轻量级的依赖注入库,特别适合用于JavaScript和TypeScript项目。下面是如何在TypeScript项目中集成并使用InversifyJS的步骤,以及它如何帮助管理依赖关系和提升代码可测试性的说明。
2024-08-19 07:29:34
189
原创 前端面试题133(描述一次在项目中解决循环依赖问题的经验,以及如何利用TypeScript的类型系统来避免这个问题的)
在我参与的一个大型企业级应用项目中,我们遇到了一个复杂的循环依赖问题。这个项目采用了模块化的设计,不同模块负责系统的不同功能部分。UserModule和。UserModule需要访问用户的权限信息来决定是否展示某些功能,而在处理权限逻辑时又需要检查用户的角色信息,这导致了相互引用的循环依赖。
2024-08-19 07:26:54
218
原创 前端面试题132(在处理大型TypeScript项目时,如何组织和管理类型定义以保持代码的可维护性?)
将类型定义与它们所服务的功能或模块放在一起。例如,如果有一个。
2024-08-19 07:22:58
401
原创 前端面试题131(解释一下什么是声明文件(Declaration Files),并给出一个您为第三方库创建或使用声明文件的例子)
声明文件(Declaration Files)在TypeScript中扮演着重要的角色,它们主要用于描述JavaScript库的类型信息。由于TypeScript是JavaScript的超集,它引入了静态类型检查以帮助开发者在开发过程中发现错误。然而,并非所有的JavaScript库都是用TypeScript编写的,这使得TypeScript编译器无法自动推断这些库中的变量、函数和模块的类型。为了解决这个问题,我们就需要使用声明文件(通常以.d.ts为扩展名)来手动提供这些类型信息。
2024-08-19 07:17:43
359
原创 cesium 局部下雨效果
1、添加一个矩形,获取矩形长宽高属性值,和中心点属性值。2、运用cesium 中粒子系统“ParticleSystem”方法添加局部雨效果。
2024-08-18 17:31:43
21
原创 cesium 局部下雪效果
1、添加一个矩形,获取矩形长宽高属性值,和中心点属性值。2、运用cesium 中粒子系统“ParticleSystem”方法添加局部雪效果。
2024-08-18 17:14:38
16
原创 前端面试题130(请描述一次在TypeScript项目中处理构建系统(如Webpack或Rollup)的经验,以及是如何配置它们来支持TypeScript的)
Webpack是一个非常流行的模块打包器,它能够将JavaScript文件和其他资源(如CSS、图片等)打包成一个或多个bundle,以便于在浏览器或其他环境中使用。要使Webpack支持TypeScript,你需要安装一些额外的加载器和插件。根据项目的具体需求,你可能还需要进一步配置,比如添加Babel来转译ES6+语法、处理CSS和图片资源等。与Webpack类似,配置Rollup来支持TypeScript也需要安装相应的插件。的文件,并配置Webpack来处理TypeScript。
2024-08-15 07:46:14
738
原创 前端面试题129(在使用TypeScript开发时,如何选择与状态管理库(如Redux、Vuex或NGRX)一起使用TypeScript的?)
在使用TypeScript开发应用时,选择与状态管理库(如Redux、Vuex或NGRX)集成,主要是为了增强应用的状态管理能力,提高代码的可维护性和类型安全性。
2024-08-15 07:42:44
273
原创 前端面试题128(请解释一下在TypeScript中如何创建和使用命名空间(Namespaces)来组织代码)
在TypeScript中,命名空间(Namespace)是一种将代码组织成逻辑上相关的块的方法,有助于避免全局变量的污染并提供更好的模块化支持。命名空间允许你将相关的类、接口、函数等封装在一个带名称的范围下,从而减少命名冲突。
2024-08-15 07:40:18
239
原创 前端面试题127(如何在TypeScript中实现函数重载(Function Overloading)?请给出一个例子。)
在TypeScript中,函数重载允许你为同一个函数定义多个签名,从而让函数能够根据传入参数的不同,表现出不同的行为。实现函数重载的基本步骤包括:首先声明函数的多个类型签名,然后实现函数的具体逻辑。的实际逻辑,通过检查参数类型来决定执行哪种操作。注意,在实际的TypeScript项目中,为了获得更严格的类型检查和更好的开发体验,通常会尽量避免使用。类型,而是使用联合类型和类型守卫来精确定义和检查类型。但为了简化示例并集中说明函数重载的概念,这里使用了。在更复杂的场景下,建议采用更精确的类型处理方式。
2024-08-15 07:37:08
204
原创 前端面试题126(请描述在TypeScript项目中,是如何配置和优化编译选项的)
根据项目具体需求,可能还需要调整其他编译选项,如allowJs等,以适应特定的开发环境和流程。综上所述,优化TypeScript项目的编译选项是一个平衡性能、可维护性和兼容性的过程,需要根据实际需求灵活配置。
2024-08-15 07:33:20
240
原创 前端面试题125(在使用TypeScript时,如何处理API请求和响应的类型定义?请分享一些最佳实践。)
为请求参数和响应数据定义清晰的接口或类型别名是基础也是最重要的一步。// 使用示例// 发送请求逻辑...id: number;// 假设使用fetch API${} // 假设使用fetch API async function fetchUser(userId : number) : Promise < UserResponse > {if(!`);if (!对于大型项目,尤其是那些与后端API紧密集成的项目,可以考虑使用如或。
2024-08-15 07:30:35
123
原创 前端面试题124(能否描述一下TypeScript中的类(Classes)的继承和多态性是如何工作的?)
TypeScript中的类继承通过extends关键字实现,支持代码复用和扩展。多态性则通过方法重写和泛型等机制体现,允许代码在不修改现有结构的情况下处理多种数据类型,提高了代码的灵活性和可维护性。
2024-08-15 07:26:33
237
原创 前端面试题123(请解释一下什么是高级类型(Advanced Types)中的映射类型(Mapped Types)。如何在项目中使用它们的?)
映射类型(Mapped Types)是TypeScript中一种强大的高级类型特性,它允许你根据已存在的类型结构创建新的类型。映射类型通过遍历一个现有类型的属性,并对每个属性应用某种变换来生成一个新的类型。这在定义复杂的类型变换时特别有用,比如为对象的所有属性添加或改变修饰符、转换属性类型等。
2024-08-15 07:23:45
229
原创 前端面试题122(在TypeScript中,如何使用类型保护(Type Assertions)和类型断言(Type Guards)来确保变量的类型安全?)
在TypeScript中,类型保护和类型断言是两种确保变量类型安全的技术,它们帮助开发者在编译时或运行时更精确地处理不确定类型的变量。下面分别介绍这两种方法,并提供示例代码。
2024-08-15 07:20:31
161
原创 前端面试题121(请描述一下如何利用TypeScript的类型系统来避免潜在的运行时错误)
TypeScript 的类型系统是一种静态类型检查机制,它允许在编译阶段(即代码运行前)发现类型错误,从而帮助开发者提前避免许多潜在的运行时错误。
2024-08-15 07:18:01
302
原创 前端面试题120(解释一下循环依赖在TypeScript项目中产生的问题,以及如何解决这个问题的。)
循环依赖在TypeScript项目中是一个常见的问题,它发生在两个或多个模块相互引用对方的情况下,形成了一个闭环。:TypeScript编译器在遇到循环依赖时可能会报错,特别是当使用了import语句进行模块导入且未采用动态导入(import())时。:在JavaScript中,模块的加载和初始化是异步的,循环依赖可能导致某些模块在未完全初始化完成前就被其他模块引用,从而使用了未定义的变量或函数。:循环依赖会增加内存使用,因为每个模块可能需要被加载多次,直到所有依赖都解析完毕。
2024-08-14 07:41:17
286
原创 前端面试题119(描述在TypeScript项目中,如何保持代码风格和规范一致性的)
在TypeScript项目中保持代码风格和规范的一致性是非常重要的,这不仅能提升代码的可读性和可维护性,还能促进团队成员之间的高效协作。
2024-08-14 07:37:59
273
原创 前端面试题118(如何在TypeScript中处理只读属性?请提供一个示例来说明)
首先,您可以通过定义一个接口来指定哪些属性是只读的。这里我们定义一个Person接口,其中idage?: number;// 可选属性,非只读。
2024-08-14 07:34:44
257
原创 前端面试题117(请解释在TypeScript中如何编写可重用的代码,并举例说明您是如何在项目中实践的)
使用接口(Interfaces)和类型别名(Type Aliases)为数据结构定义类型,这有助于确保函数、类和对象遵循一定的结构,提高代码的通用性和可重用性。
2024-08-14 07:31:31
216
原创 前端面试题116(在TypeScript项目中,如何使用混入(Mixins)为类添加额外功能的?请分享一些具体的应用场景)
在TypeScript中,由于其静态类型系统和不支持传统JavaScript中的原型继承混入模式,直接实现混入功能会比较复杂。但可以通过一些高级技巧来模拟混入行为,最常见的是使用“装饰器”(Decorators)或者利用ES6的类继承与高阶函数结合的方式来实现混合功能。下面我将分别展示这两种方法。
2024-08-14 07:27:53
350
原创 前端面试题115(描述一下TypeScript中的多态(Polymorphism)是如何通过接口(Interfaces)和类(Classes)实现的?)
在TypeScript中,多态是一种允许你使用统一的接口来表示不同类型的对象的能力,从而使得代码更加灵活且可重用。
2024-08-14 07:25:34
163
cesium 天空盒子(图片)
2022-06-05
cesium态势标绘与编辑
2022-05-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人