# mapdashboard-custom-components
**Repository Path**: mirrors_SuperMap/mapdashboard-custom-components
## Basic Information
- **Project Name**: mapdashboard-custom-components
- **Description**: mapdashboard-custom-components
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-18
- **Last Updated**: 2025-10-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 地图大屏自定义组件指南

## 开始之前
组件是 `地图大屏` 重要的组成部分。 `地图大屏` 自身为用户提供了丰富组件。
为了满足多样需求, `地图大屏` 也支持用户自定义组件,
## 开发要求
自定义组件的开发需要用到 `Vue.js`。
> 在开始之前,推荐先学习 [Vue.js](https://cn.vuejs.org/)。官方指南假设你已了解关于 [单文件组件](https://cn.vuejs.org/v2/guide/single-file-components.html) 和 [事件侦听器](https://cn.vuejs.org/v2/guide/components.html#%E7%9B%91%E5%90%AC%E5%AD%90%E7%BB%84%E4%BB%B6%E4%BA%8B%E4%BB%B6) 的知识。
## 开发步骤
1. 克隆项目文件
``` bash
git clone https://github.com/SuperMap/mapdashboard-custom-components
```
下载后的目录结构
``` bash
├── build
├── src
├── static
├── README.md
├── package.json
```
2. 在 src 目录下创建功能组件 Component.vue
3. 在 src 目录下创建属性组件 Setting.vue (如果不需要在地图大屏里进行属性配置,可忽略)
4. 在 src 目录下修改配置文件进行注册 components.json
5. 如果存在多个自定义组件,建议在 src 目录下新增一个目录。
以上步骤完成的目录结构如下:
``` bash
├── src
│ ├── CustomComponent1 # 自定义组件1
│ │ ├── Component.vue # 功能组件
│ │ └── Setting.vue # 属性组件
│ ├── CustomComponent2 # 自定义组件2
│ │ └── Component.vue # 功能组件
│ ├── components.json # 配置文件
```
## 安装依赖
```bash
# install dependencies
npm install
```
## 启动调试
```bash
# serve with hot reload at localhost:8080 or other port
npm start / npm run dev
```
启动完成后,在 `地图大屏` 左侧组件列表自定义分类中可以看到自定义组件。
> 注意:这里需要 SuperMap iPortal 中的地图大屏作为调试环境,因此需要指定 SuperMap iPortal 的服务地址,请在 build/webpack.dev.conf.js 文件中对 iportalUrl 变量进行配置。
```js
// 请指定 SuperMap iPortal 服务地址
const iportalUrl = 'http://localhost:8190/iportal';
```
> 注意:由于开发环境端口和 SuperMap iPortal 服务端口不一致,服务访问会存在跨域问题,请打开 %IPORTAL_HOME%/webapps/iportal/WEB-INF 目录下的 web.xml 进行如下配置。
```xml