zhouzhili / AGRIS

湖北省遥感信息系统,基于arcgis js api

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

系统依赖包及JS库文件设置

  • 1.本系统NodeJS依赖包配置文件为package.json,在根目录运行npm install即可自行安装依赖包。
  • 2.系统依赖的arcgis_js_api由于文件过多并未上传。本系统使用的为arcgis_js_api4.0,可自行前往ArcGIS官网下载, 下载后解压,将arcgis_js_api文件夹及其子文件放到client/libs根目录下,打开arcgis_js_api\library\4.0\4.0\init.js, 把[HOSTNAME_AND_PATH_TO_JSAPI]替换为localhost:3000/libs/arcgis_js_api/library/4.0/4.0/。 打开arcgis_js_api\library\4.0\4.0\dojo\dojo.js,把[HOSTNAME_AND_PATH_TO_JSAPI]替换为localhost:3000/libs/arcgis_js_api/library/4.0/4.0/。即可完成配置

2016-7-27工作进展

完成图层列表栏图层的添加与删除,实现底图视图控制和图层控制模块的编写,分模块编写功能非常有用,不过有些模块需要访问视图中的layer或者map, 这个后面需要考虑在不同模块间这些怎么管理。不同模块都需要访问的变量可以声明为全局变量,例如window.Global={},将变量挂载到Global中即可

系统界面简介

  • 1.系统主界面:左边为地图窗口,右边为功能窗口,地图窗口支持2D或3D视图切换
  • 2.功能窗口中能通过行政区划范围查询,查询结果将显示在地图窗口中。
  • 3.统计功能支持统计所选区域的面积统计,以折线图或柱状图的形式展示。

2016-9-29工作进展

近期重新开始了开发编写任务,由于参见了实习,发现他们用的是dojo组件化方式开发,于是边学习边练习将系统进行了较大的改动,使用了组件化开发的方式,页面 所有内容均为组件,到目前为止,编写了地图组件、搜索组件、缩放组件、指南针组件、导航菜单组件五个组件。并且每个组件都以dojo提供的声明类的方式编写。 实现了面向对象开发。后续功能可以挂载在导航菜单上,菜单能够无限制的添加内容,基本上不用再添加新的组件了。

工作总结

使用组件化的开发方式使得主页面结构更加明了,各个组件只需附加到页面body上即可,并且各个组件间互不影响,开发过程中可以分工协作,不同的人实现不同的组件 功能,将需要普遍访问的map对象声明为全局变量,并且通过发布订阅机制能够实现组件之间的通信。最后将每个人实现的组件挂载在页面上即可完成工作,不需要的时候 将组件删除即可,互不影响,并且有相同需求的时候只需拷贝过来稍作修改组件即可使用,实现了高内聚低耦合。这是组件化开发的优势。

About

湖北省遥感信息系统,基于arcgis js api


Languages

Language:JavaScript 98.8%Language:HTML 0.9%Language:CSS 0.3%