地图工作室 WebApp 支持用户通过配置使用自定义 Web 符号、配置要素捕捉所支持的最大节点数量。本节将介绍地图工作室 WebApp 的扩展流程。
自定义Web符号
- 在 【iPortal产品包】/webapps/iportal/WEB-INF/lib/ 路径下找到并解压 webjar-mapstudio-*.jar 文件,打开 解压目录/META-INF/resources/apps/mapstudio/config 路径下的 MapStudio.json 配置文件,在此文件中配置自定义符号,示例代码如下:
{
"customSymbols": {
"iconIds": [
{
"name": "滑板车",
"path": "./customSymbol/custom-0.png"
},
{
"name": "乒乓",
"path": "./customSymbol/custom-1.png"
},
{
...
}
]
}
}
- 将自定义符号的图片存放在 webjar-mapstudio-*.jar 中的 META-INF/resources/apps/mapstudio/static/symbols 路径下,目前支持JPG和PNG格式的符号。
- 将 MapStudio.json 重新压缩到 webjar-mapstudio-*.jar 文件中。
- 配置完成后重新进入地图工作室,自定义符号会显示在通用符号面板中的“自定义”标签下,如下图所示:
支持通过配置为自定义符号添加一级和二级分类,以便分类管理和精准检索自定义符号,示例代码如下:
- 配置category参数,为自定义符号添加一级分类
{
"customSymbols": {
"iconIds": {
"pointColor": [
{
"name": "红色",
"path": "./customSymbol/custom-0.png"
},
{
"name": "绿色",
"path": "./customSymbol/custom-number.png"
},
{
...
}
],
"pointShape": [
{
"name": "圆形",
"path": "./customSymbol/custom-0.png"
},
{
"name": "半圆形",
"path": "./customSymbol/custom-number.png"
},
{
...
}
]
},
"category": [
{
"value": "pointColor",
"label": "颜色"
},
{
"value": "pointShape",
"label": "形状"
},
]
}
}
在“自定义”标签下将显示自定义符号的一级分类,如下图所示:
- 配置了category和subCategory参数,为自定义符号添加一级和二级分类
{
"customSymbols": {
"iconIds": {
"pointColor": {
"pointRed": [
{
"name": "靶子",
"path": "./customSymbol/custom-0.png"
},
{
...
}
],
"pointGreen": [
{
"name": "花菜",
"path": "./customSymbol/custom-4.jpg"
},
{
...
},
]
},
"pointShape": {
...
}
},
"category": [
{
"value": "pointColor",
"label": "颜色"
},
{
"value": "pointShape",
"label": "形状"
}
],
"subCategory": {
"pointColor": [
{
"value": "pointRed",
"label": "红色"
},
{
"value": "pointGreen",
"label": "绿色"
},
{
...
}
],
"pointShape": [
{
...
}
]
}
}
}
在“自定义”标签下将显示自定义符号的一级分类和二级分类,如下图所示:
配置要素捕捉支持的最大节点数量
要素编辑时,视图范围内要素累加节点总数超过某一最大数量则无法捕捉,该最大数量可配置,未进行配置时最大数量默认为100000。配置方法如下:
在 【iPortal产品包】/webapps/iportal/WEB-INF/lib/ 路径下找到并解压 webjar-mapstudio-*.jar 文件,打开 解压目录/META-INF/resources/apps/mapstudio/config 路径下的 MapStudio.json 配置文件,在此文件中配置要素捕捉支持的最大节点数量,该数量需大于0。示例代码如下:
{
“snapMaxVertex": 80000
}