使用echarts地图,大屏实现“县乡级行政区划”数据展示的几个难点汇总
作者:admin 日期:2020-06-12某大屏展示项目中,要实现“点击乡级区划,显示出相应的数据”,
最终效果,链接:http://258754.cn/2020/guidong/demo.html
经过几天的学习,解决了一些疑难问题,特汇总如下以供参考:
难点 | 解决方法 | 参考文章或链接 |
echarts地理图的基础实现-基于geojson | 参考了百度官方示例-香港地图 | https://echarts.apache.org/examples/zh/editor.html?c=map-HK |
外框发光效果实现 | geo--itemStyle | |
得到县一级的geojson数据 | 很多方法得到,本处给出一个很方便的工具 | https://gallery.echartsjs.com/editor.html?c=x4snrWXFGe |
网上公开的geojson数据,免费只到县一级,没有乡镇一级地图 |
1、自己手工绘制,比较粗糙,边界不准 2、找到了精确边界数据的购买渠道,很便宜 |
geojson.io这个网站可以手工绘制区块 |
买到的 geojson数据比较旧,今年度新的区划已经发生了合并。 |
使用mapshaper.org提供的工具,对区划进行了合并,完美解决了问题。
合并操作及控制台语法花了点时间。 |
解析贴: |
同一页面展示多个图表 | vue组件将地图封装了一下 | 查看本文源码 |
解决了以上主要问题,绘制类似地图,就只剩一些细节问题了。
本文同时发布到两处:
知乎专栏《低水平前端》:https://zhuanlan.zhihu.com/c_1040198727197237248
SVG制作不规则链接热点的最简版演示
作者:admin 日期:2019-02-28这就是个最简演示,其它常用技术就不解释了。
演示地址 :
http://blog.258754.cn/2016/svg/qg.html
VUE+TWEENMAX+SVG动画,用来模拟流程控制
作者:admin 日期:2019-02-18那种工厂中很多个管道、流水线、控制阀门的控制体系,如果用软件来控制的话,会要操作很多的动画。用普通的HTML+IMAGE方式,很难表现一些复杂的控制。早几年的FLASH,是这方面的强手,但现在适用的方案,应该只好用SVG了。
我一直想了解一下SVG的组织结构及动画控制,这次终于实践了一个小demo。
在Scss中直接使用px单位,通过gulp,自动转为rem单位
作者:admin 日期:2018-10-27使用了https://www.npmjs.com/package/gulp-px2rem-plugin
注意width_design与pieces都要与ydui.flexible.js中的设定配合。
试着用css animation实现的逐帧动画
作者:admin 日期:2018-10-20我的试验: 258754.cn/2018/tyfp/test.html
模仿对象是:http://www.101.com
开始学写微信小程序
作者:admin 日期:2018-09-23跨域时遇到的一个顽症总结
作者:admin 日期:2018-02-01在进行post跨域数据请求时(所有请求均header中带token),碰到一个奇怪的现象,postman测试可以通过,但是用页面进行调用时,总是报错。前后端忙活了大半天时间,最后找出问题。以下是程序员 “灰色头像”写的总结:
我常用的gulpfile.js配置与sublime组件列表
作者:admin 日期:2017-05-15我自己的gulpfile.js代码:
这样运行:
gulp --u DIRNAME
--u是自定义参数,这样可以快速建立DIRNAME目录的虚拟站点,并启动所有监听服务。当你有很多不同的目录时,这样做很方便。
- var gulp = require('gulp'),
- // concat = require('gulp-concat'),
- // uglify = require('gulp-uglify'),
- // mock = require('n-mock'),
- browserSync = require('browser-sync').create(),
- // fileinclude = require('gulp-file-include'),
- // minifyCss = require('gulp-minify-css'),
- sass = require('gulp-sass')
- autoprefixer = require('gulp-autoprefixer')
- // directoryMap = require("gulp-directory-map")
- ;
- gulp.task('default', function() {
- var dir = gulp.env.u;
- console.log( "----------------当前处理目录为:/"+ dir +"----------------" );
- browserSync.init({
- server: {
- baseDir: dir,
- index: "index.html"
- }
- });
- // 自动刷新
- gulp.watch(dir+'/*.html', function() {browserSync.reload(); });
- gulp.watch(dir+'/scss/*.scss', function () {
- return gulp.src(dir+'/scss/*.scss')
- .pipe(autoprefixer({
- browsers: [
- "last 10 versions",
- "last 12 Chrome versions",
- "Firefox > 20",
- "ie 6-8"],
- cascade: true
- }))
- .pipe(sass().on('error', sass.logError))
- .pipe(gulp.dest(dir+"/css"));
- });
- gulp.watch(dir+'/css/*.css', function() {browserSync.reload(); });
- gulp.watch(dir+'/js/common.js', function() {browserSync.reload(); });
- });
我常用的sublime插件:
ColorPicker--色彩选择器
备案号不在的日子里,学到了不少的新知识
作者:admin 日期:2016-12-29不知道咋的备案就失效了。好容易恢复了。备案号不在的这段半个月,学到了不少的新知识:
- * 完整的学习了git命令行,用命令行管理自己的仓库https://github.com/csdudu,并上传了几个小片段。建立gh-pages分支。以后需要演示的片段,全部都使用这个方法进行演示了。
- * 完整的了解了npm包管理的机制,编辑package.json,更多的npm语法。并且通过实战,了解到npm的一些坑:比如node版本的影响、cnpm的优缺点。
- * 基本搞懂了Webpack的运行机制,编辑webpack.config.js,常用loader。日常使用webpack-dev-server --inline --content-base .方式进行热更新。
- * 基于Webpack搞清了es6的import/require语法,投入使用。用loader方式打包vue工程。
- * 基本搞懂vue-router路由系统,开始制作一个SPA的demo,以用于以后PC端的仿FLASH类网站。
- * 恶补了许多vue组件的知识。
- * vue自定义指令的写法。
- * 了解了前端AJAX模拟的一些知识,比如mock server的工具、搭建方式。顺便学习了LeanCloud这种把数据库抽象为API的工具的基本用法。
对父子对象使用手势时不同响应--AlloyFinger--swipe
作者:admin 日期:2016-07-16具体使用场景是:
- var $t = $(evt.target); //当前点击的target
- if ($t.parents(".cols").length == 0) { //上溯查询所有“.cols" 父对象,如果存在 ,则length>0
- .....
- }
中小项目常用的前端技术选型方案
作者:admin 日期:2016-07-13SVG滤镜的具体用法
作者:admin 日期:2016-07-06- <defs xmlns="http://www.w3.org/2000/svg">
- <filter id="Gaussian_Blur">
- <feGaussianBlur in="SourceGraphic" stdDeviation="2"/>
- </filter>
- </defs>
- SVG结构代码要使用内联方式引入,否则外联CSS方式似乎不生效
- 选择符搭配很自由,完全跟HTML一样,比如:svg#g1:hover g#gg{filter:url(#Gaussian_Blur)}
- 如果是做按钮用途,按钮要设立一个透明的点击区域,否则鼠标只有点到有像素的位置才有效果。模糊效果要注意边缘与svg容器的边距。
搭建了适合自己的前端自动流水线(gulp+browserSync+sass)
作者:admin 日期:2016-06-26GSAP官网上的示例动画集,经过学习,我也能制作了
作者:admin 日期:2016-06-16以下 GSAP官网上的示例动画集,经过学习,我也能制作这些SVG的遮罩、形变、路径类的动画,以设计师的创作提供更大的想象空间。
MorphSVGPlugin Examples
- Official MorphSVGPlugin Demo (at the top of this page) by Jack Doyle-----官方示例
- SVG Pencil Download by Chris Gannon----铅笔变箭头
- "!?" to GreenSock Logo by Chris Gannon----!?图形变成绿袜子小人
- Send Email Success/Failure by Chris Gannon---邮件发送成功后变成对钩
- Father & Son by Diaco--父亲和儿子的头像变换--烟雾动效
- Count Down & Count Up by Chris Gannon-----10的倒计时
- Life is Short by Chris Gannon----奶瓶变坟墓
- Bow & Arrow by Chris Gannon-----开弓放箭
- Simple Polyline Morphing by Jack---平板转五星转方块
- Happy/Sad Face (click the face) by Chris Gannon----哭脸和笑脸
- Bad Hair Day (click the face) by Chris Gannon-----电风吹把头发吹曲
- Flame by Sarah Drasner-----烛火摇曳
- Interchangeable Hipster by Sarah Drasner--胡子和眼镜变化
- Floating Duckie by Brad Larson----波浪上的鸭子
- Power of GSAP (lightening) by Diaco--电灯灯丝发光
- Animal Shapes by Carl Schooff-----动物形状变化