- 博客(19)
- 收藏
- 关注
原创 Vue3.0
2020年9月18日,Vue.js发布3.0版本。Vue3向下兼容Vue2.x版本,并且比Vue2的性能显著提升(打包大小减少41%,初次渲染速度提高55%,更新渲染提高133%,内存使用率减少54%)。Vue3使用Proxy代替defineProperty实现响应式,重写虚拟DOM的实现和Tree-Shaking,更友好兼容TypeScript。
2022-10-17 14:50:32 369 1
原创 JS模块化
模块化是指将一个复杂的程序依据一定的规则(规范)封装成几个块(文件),并进行组合在一起。最早我们开发将所有的代码写在一个js文件中,随着需求越来越复杂,代码量越来越大,如果仍然把所有代码写在一个js文件中,那么代码耦合度过高不方便后期维护,也不方便程序员找到某一个功能点的代码,所有东西写在一个文件也容易污染全局环境。
2022-10-04 21:37:26 1372
原创 ES7新特性
1.includes方法用来检测数组中是否包含某个元素,返回布尔类型。2.指数操作符**实现幂运算,功能与Math.pow结果相同。
2022-07-19 22:01:56 218
原创 Geoserver+WMS实现属性查询
Geoserver发布服务以及加载WMS影像图层参考GeoServer发布服务+跨域问题+Cesium调用WMS/WFS服务WMS服务GetMap请求API文档中
2022-06-27 10:38:57 4203
原创 ES6特性
1. let变量声明特性1)变量不能重复声明;2)块儿级作用域;3)不存在变量提升;4)不影响作用域链2. const变量声明特性1)要赋初始值;2)一般常量使用大写;3)常量的值不能修改;4)块儿级作用域;5)可以修改数组和对象的元素(常量指向的地址没有改变)3. 变量的解构赋值1)数组的解构const arr = ['111', '22', 'hello', 'happy'];let [a, b, c, d] = arr;co........................
2022-06-07 14:12:23 247
原创 JS组合继承
function Person(name, age){ this.name = name this.age = age}Person.prototype.setName = function(name){ this.name = name}function Student(name, age, price){ Person.call(this, name, age) // 得到属性 this.price = price}Student.prototyp.
2022-05-27 11:56:45 88
原创 JavaScript闭包
1. 产生闭包的条件1)函数嵌套2)内部函数引用了外部函数的数据(变量/函数)3)调用外部函数,执行内部函数定义(不用调用内部函数)产生:在嵌套内部函数定义执行完时产生死亡:在嵌套内部函数成为垃圾对象时2. 常见的闭包1)将函数作为另一个函数的返回值function fn1() { // 调用fn1后,此时闭包已经产生(函数提升,内部函数对象已经创建) var a = 2 function fn2() { console.log(a)
2022-05-17 14:55:36 131
原创 JS原型与原型链
1. 原型每个函数都有一个prototype属性,它默认指向一个Object空对象(即原型对象)原型对象中有一个属性constructor,它指向函数对象给原型对象添加属性(一般是方法),实例对象可以访问function Fun () {} // 构造函数Fun.prototype.test = function () {} // 原型对象上添加方法test()var fun = new Fun() // 实例对象fun.test() // 实例对象可以访问2. 显式原型与.
2022-05-15 17:28:55 94
原创 函数中this指向问题
任何函数本质上都是通过某个对象来调用的,如果没有直接指定,就是window。所有函数内部都有一个变量this,它的值是调用函数的当前对象。举例:1. test()——window2. p.test()——p3. new test()——新建的对象4. p.call(obj,1,2)——obj...
2022-05-01 16:31:00 222
原创 Axios学习笔记
1. axios基本使用1.GET请求axios({ // 请求类型 method:'GET', // URL url:'http://localhost:3000/xxx',}).then(response => { console.log(response); // 成功的回调}) 2.POST请求axios({ // 请求类型 method:'POST', // URL ...
2022-04-29 15:02:55 760
原创 Promise学习笔记
1. Promise介绍与基本使用1.1 介绍Promise是JS中进行异步编程的新解决方案(旧方案是单纯使用回调函数)。Promise是一个构造函数,其对象用来封装一个异步操作并可以获取其成功/失败的结果值。异步编程,比如:fs文件操作、数据库操作、AJAX、定时器。1.2 优点1. 支持链式调用,可以解决回调地狱问题。(回调地狱:回调函数嵌套调用,外部回调函数异步执行的结果是嵌套的回调执行的条件。不便于阅读,不便于异常处理。)...
2022-04-24 18:52:09 1526
原创 Ajax学习笔记
1.AJAX的特点1.1AJAX的优点可以无需刷新页面而与服务器端进行通信。 允许你根据用户事件来更新部分页面内容。1.2AJAX的缺点没有浏览历史,不能回退。 存在跨域问题。 搜索引擎优化不友好,爬虫爬不到。2. HTTP2.1请求报文请求行:请求类型(GET、POST...) URL路径 HTTP协议版本请求头:Host: atguigu.comCookie: name=guiguContent-Type:...
2022-04-23 20:30:34 1037
原创 Cesium鼠标点击请求WMTS GetFeatureInfo接口获取点选的要素信息
Cesium计算近似层级Cesium 3D模式下没有层级概念,二维地图才有层级zoom,可以通过相机的高度计算近似层级。heightToZoom(height) { let A = 40487.57; let B = 0.00007096758; let C = 91610.74; let D = -40467.74; return Math.round(D + (A - D) / (1 + Math.pow(height / C, B)));}计算点击位置瓦片行列号和像
2022-04-18 21:01:04 2818 1
原创 Cesium加载Geoserver发布的wmts服务
在Geoserver欢迎界面点击右侧WMTS服务,打开xml文件,找到要发布的图层,复制url(Geoserver版本不同url结构略有差异)。修改url,将{TileMatrix}改为{TileMatrixSet}:{TileMatrix}。图层预览时可以看到发送的Request URL中TileMatrix参数值为EPSG:900913:11,是TileMatrixSet:TileMatrix的形式。代码如下,如果选择EPSG:4326,还需要添加tilingScheme: n...
2022-04-18 11:37:41 1677
原创 GeoServer发布服务+跨域及401问题+Cesium调用WMS/WFS服务
目录GeoServer发布WFS服务解决跨域问题cesium请求服务GeoServerWFS服务1.打开开始菜单,找到安装的GeoServer文件夹,点击StartGeoServer开启服务,出现下图说明启动成功。2.点击开始菜单中GeoServer Web Admin Page,或浏览器手动输入localhost:自己设置的端口号/geoserver/web,登录自己的账号。3. 新建一个工作区。工作区->>添加新的工作区->>填写工...
2022-03-27 20:17:15 4321
原创 CesiumLab点云切片模型清晰度降低
问题:CesiumLab点云切片后模型清晰度降低,使用pcl2cesiumApp不会出现这样问题原因:数据范围小,精度比较高。升级到CesiumLab 3版本,切片最大级别设置大一些。
2022-03-18 17:41:06 710
原创 Cesium绘制两点之间给定一条边长的矩形
方法一如下图所示,蓝色点为已知经纬度的给定两个点,现在需求是绘制出黑色边框矩形。实现思路是添加box实体,那么需要计算box的位置、方向和其中一条边长(另一边长已经指定大小)。box的位置position也就是红色点,红色点坐标只需计算蓝色两点之间的中点坐标,边长l需要计算蓝色两点之间距离,方向orientation相对复杂,先调用getAngle(蓝1,蓝2)函数计算角度,再调用setModelDirection(position, angle)计算方向。所用...
2022-03-18 17:27:19 1003
原创 cesium一些计算函数
设置一条颜色带,由数字0处颜色渐变到1处颜色,计算0-1中插值t处对应的颜色值。 getColor(t) { let material = new Cesium.Color(1.0, 1.0, 1.0, 1.0);//初始化定义material return Cesium.Color.lerp( Cesium.Color.YELLOW.withAlpha(0.8),//0.0处对应的颜色 Cesium.Color.RED.withAlpha
2022-03-18 16:05:59 975
原创 Cesium地图反遮罩
实现的思路是面带洞,添加两个半圆polygon覆盖整个地球,在有需要突出提亮部分的polygon中使用holes属性挖空,最后添加polyline高亮边界范围。addMasker(viewer) { var point = []; //point数组中放你自己提亮范围的边界经纬度 for (let i = 0; i < Test.features[0].geometry.coordinates[0][0].length; i++) { ...
2022-03-18 15:24:23 2479 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人