业务gis 怎么让别的开发人员不需要懂gis就可以搞开发? (二)
2015-12-09 15:25
441 查看
每个业务子系统都要加载flexviewer搭建的gis系统,我们可以共用同一个系统,把要交互的逻辑封装出去,首先把加载flash那段js代码封装起来放到一个自己定义的控制类,这个类暂时叫MapControl,把初始化flash的一个方法定义到里面。
其中Parameter类是我们自定义某些属性的东西,比如地图的长宽,放置div的id,还有系统的别名,flexviewer默认的是config.xml,如果你定制另外一个系统你可以改为config-aaa.xml
之类的。
我们在测试页面html可以这样子
其中MapTool.js是压缩了MacControl.js 和Parameter.js。
/** * Created with JetBrains WebStorm. * User: haibalai * Date: 15-12-9 * Time: 下午3:51 * To change this template use File | Settings | File Templates. */ var MapControl = function () { /** * 地图初始化parameter 具体参考Parameter类 * @type {Parameter} */ this.parameter = new Parameter(); /** * 地图初始化 */ this.inlitialize = function () { swfobjhash[this.parameter.div] = this; var swfVersionStr = "11.4.0"; var xiSwfUrlStr = ""; var flashvars = {}; var params = {}; params.wmode = "opaque"; params.quality = "high"; params.bgcolor = "#ffffff"; params.allowscriptaccess = "always"; params.allowfullscreen = "true"; var attributes = {}; attributes.id = this.parameter.div; attributes.name = this.parameter.div; attributes.align = "middle"; swfobject.embedSWF( "http://localhost/mymap/index.swf" + this.parameter.getUrlString() , this.parameter.div, this.parameter.width, this.parameter.height, swfVersionStr, xiSwfUrlStr, flashvars, params, attributes); swfobject.createCSS("#" + this.parameter.div, "display:block;text-align:left;"); } }
其中Parameter类是我们自定义某些属性的东西,比如地图的长宽,放置div的id,还有系统的别名,flexviewer默认的是config.xml,如果你定制另外一个系统你可以改为config-aaa.xml
之类的。
/** * Created with JetBrains WebStorm. * User: haibalai * Date: 15-12-9 * Time: 下午3:51 * To change this template use File | Settings | File Templates. */ var Parameter = function (){ /** *图层配置xml * @type {string} */ this.config = ""; /** * 嵌入flash的div配置 * @type {string} */ this.div = ""; /** *图形组件的宽 * @type {string} */ this.width = ""; /** *图形组件的高 * @type {string} */ this.height = ""; this.getUrlString = function() { var a = "?config=" + this.config; return a; } }
我们在测试页面html可以这样子
<html> <head> <title>mymap</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <script type="text/javascript" src="http://locahost/mymap/libary/MapTool.js"></script> </head> <script type="text/javascript"> var a = new MapControl(); a.parameter.config = "config.xml"; a.parameter.div= "flashContent"; a.parameter.width = "800"; a.parameter.height = "800"; a.inlitialize(); </script> <body> <div id="flashContent"> </div> </body> </html>
其中MapTool.js是压缩了MacControl.js 和Parameter.js。
相关文章推荐
- C基础
- Chrome 控制台不完全指南
- java中进行四舍五入
- DMA驱动框架流程编写
- JAVA调用https协议
- Activity的生命周期
- JQuary中的FullPage属性的用法
- 【java】HashMap的遍历
- JavaMail实现收发邮件(五)使用SSL实现加密传输
- 1011. A+B和C (15)
- 运用原生Java Api发送简单的Get请求、Post请求
- nginx常用命令
- Android 切.9图
- Valid Palindrome
- 虚拟机安转的linux下jdk的安装及环境变量的配置
- vmware workstation11+centos7+lnmp一键安装包 环境搭建
- 关于面向对象“继承”的理解
- Chrome开发者工具不完全指南(六、插件篇)
- 安卓菜单的实现,各种添加菜单的方法。
- LeetCode - Longest Palindromic Substring