# 介绍
MapGIS-Pan-Spatial-Map 是一个面向全空间一张图 GIS 应用方向的解决方案,它基于 vue, typescript, quasar和MapGIS Client for JavasCript实现。
本项目使用了最新的前端技术栈,提供了丰富的功能组件,它可以帮助你快速搭建全空间一张图原型。相信不管你的需求是什么,本项目都能帮助到你。
# 功能
- 登录 / 注销
- 多环境发布
- Dev / Prod
- 全局功能
- 动态主题
- 动态布局
- Mock 数据 / Mock 服务器
- 微件
- 二维地图
- 三维场景
- 放大
- 缩小
- 全屏
- 二三维地图切换
- 目录树
- 图层树
- 查看属性
- 结果集
- 按范围过滤
- 清除所有
- 清除
- 底图切换
- 测量
- 长度测量
- 面积测量
- 标注
- 添加
- 导出
- 保持
- 删除
# 前序准备
你需要在本地安装 node 和 git。本项目技术栈基于 typescript、vue、vuex、vue-router 、vue-cli 、axios 和 quasar,所有的请求数据都使用faker.js进行模拟,提前了解和学习这些知识会对使用本项目有很大的帮助。
# 目录结构
|── packages
|── pan-spatial-map-framework # 框架应用
|── pan-spatial-map-mock-server # mock
|── pan-spatial-map-plugin-auth # 授权插件
|── pan-spatial-map-plugin-layout # 布局插件
|── pan-spatial-map-plugin-layout-ui # 布局插件UI
|── pan-spatial-map-plugin-theme # 主题插件
|── pan-spatial-map-plugin-workspace # 工作空间插件
|── pan-spatial-map-plugin-workspace-ui # 工作空间插件UI
|── pan-spatial-map-plugin-mapeditor # 地图编辑插件
|── pan-spatial-map-plugin-mapeditor-ui # 地图编辑插件UI
|── pan-spatial-map-store # 全局上下文环境&存储结构
|── .editorconfig # editor配置
|── .eslintignore # ESlint忽略路径
|── .eslintrc.js # ESlint配置
|── .gitignore # GIT忽略路径
|── .prettierrc # 代码格式化配置
|── package.json # npm脚本和依赖项
|── README.md # 您的网站/应用程序的自述文件
|── tsconfig.json # ts配置
# 着手使用
# 克隆项目
git clone https://github.com/MapGIS/MapGIS-Pan-Spatial-Map.git
# 进入项目目录
cd MapGIS-Pan-Spatial-Map
# 安装依赖
npm install # Or yarn
# 本地开发 启动项目
npm run dev # OR yarn dev
npm run dev:mock # OR yarn dev:mock
启动完成后会自动打开浏览器访问 http://localhost:8080,如果你看到下面的页面就代表操作成功了。
接下来你可以修改代码进行业务开发了,本项目内建了典型业务模板、常用业务组件、模拟数据等各种实用的功能来辅助开发,你可以继续阅读和探索左侧的其它文档。
# 参与开发
本文档项目地址 MapGIS-Pan-Spatial-Map-Docs 基于 vuepress 开发。有任何修改和建议都欢迎通过该项目 issue 或者 pull request 支持。
# Vue 生态圈
首先了解这些 vue 生态圈的东西,会对你上手本项目有很大的帮助。
Vue Router 是 vue 官方的路由。它能快速的帮助你构建一个单页面或者多页面的项目。
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。它能解决你很多全局状态或者组件之间通信的问题。
Vue Loader 是为 vue 文件定制的一个 webpack 的 loader,它允许你以一种名为单文件组件 (SFCs)的格式撰写 Vue 组件。它能在开发过程中使用热重载来保持状态,为每个组件模拟出 scoped CSS 等等功能。不过大部分情况下你不需要对它直接进行配置,脚手架都帮你封装好了。
Vue Test Utils 是官方提供的一个单元测试工具。它能让你更方便的写单元测试。
Vue Dev-Tools Vue 在浏览器下的调试工具。写 vue 必备的一个浏览器插件,能大大的提高你调试的效率。
Vue CLI 是官方提供的一个 vue 项目脚手架,本项目也是基于它进行构建的。它帮你分装了大量的 webpack、babel 等其它配置,让你能花更少的精力在搭建环境上,从而能更专注于页面代码的编写。不过所有的脚手架都是针对大部分情况的,所以一些特殊的需求还是需要自己进行配置。建议先阅读一遍它的文档,对一些配置有一些基本的了解。
Vetur 是 VS Code 的插件. 如果你使用 VS Code 来写 vue 的话,这个插件是必不可少的。
可用的脚本 →