从事GIS行业的小伙伴们肯定会遇到这样一种场景,就是你接触的项目或者应用不是纯GIS应用。比方说要做一个某某县的企业点信息统计系统,某某县 的耕地涨势系统,某某ToG的管理系统,GIS功能,或者说GIS模块只是整个系统中的一环,一部分,与其他数据有关联但是在功能上几乎是解耦的,因此我们有很多种方法将GIS功能继承进系统里。
1.伴随具体的项目,不断地重复的接入GIS功能。这种方式是最笨重最累的,每次有了新的项目总是等前端后端的人开发完之后,再把项目代码下载下来,开始写自己的GIS模块的功能,写完之后还得和非GIS的功能联调,不断地和纯前端的人员沟通,从开发效率上讲非常低下,耗费的时间也长,另外不断地和不懂GIS的前端交流真的很让人拴Q......
2.写一套抽象出来的组件库,利用开源的GIS框架,将一些常用的GIS功能抽象出来,写成组件,比如说,基础底图的展示,封装几个wms,wfs,wmts的方法,请求一些底图,包括天地图等。类似的查询功能也是常见 的,封装一个查询组件,当图层改变时可进行灵活的点选和框选以及多边形查询,再如绘制组件,肯定少不了对地图进行简单的绘画,标注等等。再多的我就不说了。总之思路就是将这些功能分开写成多个组件,然后最后将GIS组件库打成包上传至npm仓库,这样