版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、html5绘制上海地铁线路图某市政项目用到地铁图展示,展示地铁站点以及相关信息流,用法qunee组件可以很好的解决这类需求,做出柔美的呈现,下面以上海2012地铁图为例,效果如下:上海2012地铁图效果 示例讲解首先需要解决数据问题,可以从维基百科或者上海地铁官网中猎取,不过也免不了人工,要达到良好的显示效果,需要不只要记录站点的位置,还需要设置文本标签的抱负位置,有时为了避开文字叠加,需要设置旋转角度总之事在人为,想想方法,终于解决了数据问题,再加上qunee图形组件的强大展示效果,做出来可以交互的在线地铁图 数据格式采纳json格式数据,分三种类型:文本标签、站点、地铁线 总的结构如下:
2、"labels" : . ,"stations" : . ,"lines" : . 文本标签数据包含坐标和文字信息,假如文字需要旋转,则会增强rotate属性,下面是莘庄文本标签信息 "text" : "莘庄","x" : 883.591,"y" : 1625.695文字与节点旋转效果文字与节点旋转效果 站点数据包含坐标、旋转角度以及编号信息,下
3、面是莘庄站的信息 "id" : 5,"x" : 869.8513512641732,"y" : 1597.6559686949402,"rotate" : 0.7853981633974483地铁线数据包含名称,色彩,以及经过的站点编号 "name" : "1","color" : "e52035",&
4、quot;stations" : 64, 70, 67, 71, 72, 65, 69, 73, 66, 68, 63, 62, 22, 61, 60, "id": 21, "yoffset": 0.5, 59, "id": 18, "yoffset": -0.5, 17, 58, 14, 7, 57, 6,56, 44, 47, 5对于特别状况,比如两条地铁线共用一条线路的状况,会浮现两条线重合,为了避开这种状况,还可以指定站点横向
5、偏移量,比如上面一号线中的如下数据 "id": 21, "yoffset": 0.5由于上海地铁三号线与四号线共用线路较多,所以这种处理越发显然 三号线数据"name" : "3","color" : "f9d300","stations" : 6, 95, 96, 97, "id":12,"
6、yoffset":0.5, "id":11,"yoffset":0.5, "id":8,"yoffset":0.5, "id":9,"yoffset":0.5,"id":10,"yoffset":0.5, "id":25,"yoffset&
7、amp;quot;:0.5, "id":26,"yoffset":0.5, "id":238,"yoffset":0.5, "id":22,"yoffset":-0.5, "id":27,"yoffset":-0.5,98, 99, 100, 101, 104, 105, 107, 108, 109, 106,
8、 110, 111地铁共线效果地铁共线效果 创建图元数据需要转换成qunee图元对象,三种类型分离对应三个创建函数 创建文本标签function createtext(name, x, y, rotate) var text = graph.createnode(name, x, y); if(rotate) text.rotate = rotate; text.zindex = 20; text.image = null; text.setstyle(q.styles.background_color, q.tocolor(0x88ffffff); text.setstyle(q.style
9、s.label_anchor_position, q.position.left_bottom); text.setstyle(q.styles.label_position, q.position.center_middle); text.setstyle(q.styles.label_padding, padding); return text; 创建站点function createstation(station) var node = graph.createnode(null/**/, station.x, station.y); node.stationid
10、 = station.id; node.setstyle(q.styles.label_font_size, 10); node.setstyle(q.styles.label_anchor_position, q.position.center_middle); node.setstyle(q.styles.label_position, q.position.center_middle); node.zindex = 10; if(station.rotate) node.image = roundrect; node.rotate = station.rotate; else node.
11、image = circle; node.setstyle(q.styles.shape_fill_color, "fff"); node.setstyle(q.styles.shape_stroke_style, "000"); return node; 创建地铁线createline()函数用于创建地铁线,用法了节点类型图元,并设置节点主体为路径,函数updateline()用于从站点信息自动生成线路路径 function createline(line) var stations = line.stations; v
12、ar node = graph.createnode(); node.stations = stations; node.movable = false; node.setstyle(q.styles.label_font_size, 50); node.setstyle(q.styles.label_color, line.color); node.setstyle(q.styles.label_anchor_position, q.position.left_bottom); node.setstyle(q.styles.label_position, q.positio
13、n.left_top); node.setstyle(q.styles.layout_by_path, true); node.anchorposition = null; node.setstyle(q.styles.shape_stroke, size); node.setstyle(q.styles.shape_stroke_style, line.color); updateline(node, true); return node; function updateline(line, addlistener) var path = new q.path(); line.image = path; var stations
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 概率论与数理统计课件 第六章 统计量与抽样分布
- Pyth基础实及其教程 4
- 零星维修服务质量保证体系与安全文明管理措施
- 内部审计职责分工管理规定
- 中小学信息技术教师高级职称评审答辩题目和答案
- 破壁机产品震动过大问题情况说明
- 品质部门工作中的不足与改进
- 煤炭质量保证措施
- 2025年建筑工程师职业资格考试试卷及答案解析
- 恩施卷烟厂生产车间环境改造项目可行性研究报告模板拿地申报
- 2025至2030中国农药乳化剂市场深度研究与重点企业发展分析报告
- 《高频局部放电检测技术》课件
- 2025年人教版小学一年级下册趣味数学竞赛试题(附参考答案)
- 闲置物资仓库管理制度
- 河北省2024版《建筑施工安全风险管控与隐患排查治理指导手册》附400余项危险源辨识清单
- 《五档手动变速箱设计》12000字(论文)
- 铆工培训内容课件
- 保安员资格考试复习题库及答案(800题)
- 停车场车位使用管理备忘录
- 灾难事故避险自救-终结性考核-国开(SC)-参考资料
- 急性动物实验基本操作技术课件
评论
0/150
提交评论