widget 学习记录初探

Posted xiaokcehui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了widget 学习记录初探相关的知识,希望对你有一定的参考价值。

       现在用的电脑不行,在运行mars3d,总是报webgl渲染失败,要想不失败必须关闭硬件加速,但是关闭硬件加速了,反应巨慢。一气之下,在京东上买了一台二手dell工作站。

       安装好win10以后,禁掉集成显卡以后,使用独立显卡打开系统,不仅卡而且没有动画,百度搜索了一下,将navidia m2000显卡升级,在navidia控制面板里,将需要用到独立显卡的应用程序设置成高性能,这样以来,系统不仅有动画,而且运行非常流畅。也没有加载kml,没有显示webgl渲染错误,如下图。

点击查看原图

        mars3d网站提供了传统web widget框架,需要做好数据,就可以实现数据的显示,还是比较方便的;但是,如果要增加功能,就不会了,得学习一下web widget。

include-lib.js

//为了节省github空间,没有上传lib下面的类库到github
//如果离线使用,可以从  http://mars3d.cn/download/lib.rar  下载后覆盖lib目录,并注释下面一行代码
libpath = http://mars3d.cn/lib/

注释掉这一行,还需要将lib/mars3d的内容加进来,否则报错。

mars3d关于widget开发方式的介绍:

#1. widget模块化架构说明
widget模块化设计方式是我们在2016年设计的一种基于传统JS的模块化设计架构。设计思想主要是借鉴了gis行业的arcgis flexviewer和jsviewer,也借鉴了前端行业的React和Vue。当前最流行和通用的方式是整个项目用Vue、React或angular下开发最佳,用现代化的技术栈来做开发。
#1.1 使用widget的理由
目前还保留widget模块化的方式,是因为:
实用性,主要考虑到该方式使用多年,已在大量项目中使用, 积累比较多,并且成熟稳定;
并且当前还是有很大一部分公司项目还是传统方式开发的;
widget模块也兼容vue、react、 angular下通过静态资源方式来使用。
#1.2 widget的特点
将每个业务模块设计为独立的widget模块,互相都是独立的,互相解耦,类似vue组件。
widget是按需加载和初始化,默认是不加载的,单击激活后才会加载其相关js和html等资源。
有很多可配置的参数,无需代码即可按需配置自动释放激活、界面位置、大小等。
保留使用 widget模块化 方式,并不是指我们不用vue等现代化技术栈,目前我们也有Vue版基础项目再使用,目前尚未公开,后续合适时间会公开发布。
#2. 基础项目
     我们通过vscode打开该项目,项目中最重要的是2个点是,json配置文件 和 widget模块化开发,一般开发项目只用修改配置文件和开发新的widget即可。
config/config.json是地图初始化构造参数配置文件
config/widget.json为项目widget的模块配置信息文件
widgets目录为模块功能目录,也可以按业务分在多个目录中,比如widgetsTS目录

mars3d自己的widget的功能比较多,见下图,公开库的功能较少;

点击查看原图

https://www.runoob.com/网站标出了,如果学习js,必须先学习html和css

HTML简介如下

点击查看原图

CSS简介如下

点击查看原图

//chrome报的一个错误

Because a cookie’s SameSite attribute was not set or is invalid,

发现是qq浏览器访问没有问题,但是chrome访问有问题,似乎是相同网址的cookie不严格造成的,百度了一下,也不知道怎么解决,最后清除浏览器的历史纪录,就可以了。

更多资讯见xiaok海洋测绘网及同名公众号

以上是关于widget 学习记录初探的主要内容,如果未能解决你的问题,请参考以下文章

widget 学习记录CenterXY

机器学习初探——机器学习的基本概念

Mars3d widget 学习记录index.html

Launcher3学习记录-Launcher第一次启动时的快捷方式Widget加载流程

CSS初探学习总结提高 一

CSS初探学习总结提高 三