地图工作室 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
    }