项目中应用到的框架和技术之二——ol3-ext
2017-03-21 17:43
507 查看
ol3-ext有很多很丰富的效果,可以不用重复造轮子,ol3-ext示例大全:http://viglino.github.io/ol3-ext/
在本次项目中使用到了ol3-ext的两个功能:图层管理器和辅助工具栏
1.图层管理器
实现的功能有:
1)设置图层显示与隐藏
2)设置图层组显示与隐藏
3)设置图层透明度
4)设置图层顺序
5)当前比例尺不显示的图层灰色显示
代码:
2.辅助工具栏
代码:
在本次项目中使用到了ol3-ext的两个功能:图层管理器和辅助工具栏
1.图层管理器
实现的功能有:
1)设置图层显示与隐藏
2)设置图层组显示与隐藏
3)设置图层透明度
4)设置图层顺序
5)当前比例尺不显示的图层灰色显示
代码:
// A group layer for base layers var baseLayers = new ol.layer.Group( { title: '图层', openInLayerSwitcher: true, layers: [ new ol.layer.Tile({ title: "OSM", source: new ol.source.OSM({ attributions: [] }) }), vectorLayerXB, vectorLayerXBLabel, vectorLayerCun, vectorLayerXiang, vectorLayerXian, vectorLayerShi, vectorLayerSheng, vectorLayerGuo, vectorTemp ] }); var layerSwitcherControl = new ol.control.LayerSwitcher(); map.addControl(layerSwitcherControl);
2.辅助工具栏
代码:
//初始化辅助工具栏 this.mainbar = new ol.control.Bar(); // Edit control bar var editbar = new ol.control.Bar( { toggleOne: true, // one control active at the same time group: false // group controls together }); this.mainbar.addControl(editbar); //线测量 var lineMeasure = new ol.control.TextButton( { html: '<i class="material-icons">show_chart</i>', title: "线测量", handleClick: function () { var ToolManager = require('../../mapzone-ol3-plugin/mzTool/mzToolManager.js'); var manager = ToolManager.getToolManager(this.map_); manager.getTool('测量').setMeatureType('LineString'); } }); editbar.addControl(lineMeasure); //面测量 var lineMeasure = new ol.control.TextButton( { html: '<i class="material-icons">panorama_wide_angle</i>', title: "面测量", handleClick: function () { var ToolManager = require('../../mapzone-ol3-plugin/mzTool/mzToolManager.js'); var manager = ToolManager.getToolManager(this.map_); manager.getTool('测量').setMeatureType('Polygon'); } }); editbar.addControl(lineMeasure); //完成本次测量 var finishDrawing = new ol.control.TextButton( { html: '<i class="fa fa-check"></i>', title: "完成", handleClick: function () { var ToolManager = require('../../mapzone-ol3-plugin/mzTool/mzToolManager.js'); var manager = ToolManager.getToolManager(this.map_); manager.getTool('测量').interaction.finishDrawing(); } }); editbar.addControl(finishDrawing); //取消本次测量 var cancleDrawing = new ol.control.TextButton( { html: '<i class="fa fa-times"></i>', title: "取消", handleClick: function () { var ToolManager = require('../../mapzone-ol3-plugin/mzTool/mzToolManager.js'); var manager = ToolManager.getToolManager(this.map_); manager.getTool('测量').interaction.abortDrawing_(); } }); editbar.addControl(cancleDrawing); //清除测量结果 var clearMeasureResult = new ol.control.TextButton( { html: '<i class="fa fa-paint-brush"></i>', title: "清除测量结果", handleClick: function () { var ToolManager = require('../../mapzone-ol3-plugin/mzTool/mzToolManager.js'); var manager = ToolManager.getToolManager(this.map_); manager.getTool('测量').clearMeasureResult(); manager.getTool('测量').setMeatureType(manager.getTool('测量').measureType); } }); editbar.addControl(clearMeasureResult); //加载辅助工具栏 this.interaction.map_.addControl(this.mainbar);
相关文章推荐
- 在做一个大型java项目,从现在起记录一些技术应用框架配置,一、svn+apace+权限配置
- 项目中应用到的框架和技术之一——Materialize
- 项目中应用到的框架和技术之三——echarts
- 我为什么反对在实际项目中使用类似ext的js技术框架
- 为软件质量保驾—过程管理与项目管理技术的应用
- 应用软件的组合技术:用XML描述你的框架(一)
- 论架构技术在项目中的具体应用
- SOA应用系统总体框架及相关概念及实现技术
- 《互联网项目运营分析》第四章 :互联网项目的技术选择与应用
- Rails框架技术讲座:如何定义自己的Rails应用软件入门位置
- 为软件质量保驾—过程管理与项目管理技术的应用
- 应用软件的组合技术:用XML描述你的框架(一)
- 关于中小规模生产销售型应用技术框架的想法和问题,请大家多多提点
- 软件系统开发中的组件框架技术研究、设计和应用【转自lrn资源网】
- 技术讲座:.NET委托、事件及应用兼谈软件项目开发
- 软件系统开发中的组件框架技术研究、设计和应用
- 本人在一个项目开发中所使用的框架和技术
- 软件系统开发中的组件框架技术研究、设计和应用
- JSP中href(url)与sumbit的提交数据方式对比(土地资源项目Javabean技术应用心得)
- 开源框架在项目中的应用