世界地图管理
概述
世界地图管理用于维护世界地图的地区映射关系和地图数据文件。配置完成后,世界地图可以根据业务数据中的地区名称或地区代码,识别需要展示的地图层级,并加载对应的 GeoJSON 地图数据。
例如,业务数据中的地区值为“加利福尼亚州”时,会先识别出其地区代码为 US-CA,再根据 US-CA 的查找到上级地区代码为 US ,从而加载 US.json,最终绘制美国地图并对“加利福尼亚州”的区域进行着色。
配置界面如下:

本功能仅支持基于 ECharts 渲染的世界地图。
配置说明
地区代码
地区代码应使用唯一的字符串,建议仅包含英文字母、数字和中横线且不含空格,区分大小写。
地区代码用在如下地方:
textToCode的值codeToUpperCode的键和值- 地图数据文件名
- 地图数据文件中的
feature.properties.code
地区代码建议使用 US、US-CA、US-CA-LA 这类能够体现层级的命名,但实际上下级关系仍以 codeToUpperCode 的配置为准。
文件之间的关系
需要以下两类文件来实现自定义地区的地图绘制:
| 文件 | 作用 | 命名要求 |
|---|---|---|
world-geo-map.json | 维护业务地区名称、地区唯一识别码以及上下级地区关系 | 文件名固定,不可修改 |
| 地图数据文件 | 保存某个地区下一级区域的 GeoJSON 边界数据 | 文件名必须与该地区的地区代码一致,例如 US.json 用于加载美国的地图 |
系统按以下顺序识别并加载地图:
- 根据
world-geo-map.json,将业务地区名称转换为地区代码。 - 根据地区代码找到其上级地区代码。
- 加载以上级地区代码命名的地图数据文件。
- 根据「地图数据JSON」中各区域的
code关联业务数据,并使用name显示区域名称。
以“加利福尼亚州”为例:
加利福尼亚州 → US-CA → 上级地区 US → 加载 US.json → 匹配地图地图 JSON文件中 code 为 US-CA 的区域
映射关系文件
映射关系文件名固定为 world-geo-map.json,可以在「世界地图管理」页面下载,文件中包含以下两个对象:
textToCode:定义业务地区名称与地区代码的映射。同一个地区可以配置中文名、英文名或企业内部使用的业务名称。codeToUpperCode:定义地区代码与上级地区代码的关系。系统根据该关系判断需要加载哪个地图数据文件。
以下示例在系统内置的美国映射基础上,补充加利福尼亚州和洛杉矶县的名称及上下级关系:
{
"textToCode": {
"加利福尼亚州": "US-CA",
"California": "US-CA",
"洛杉矶县": "US-CA-LA",
"Los Angeles County": "US-CA-LA"
},
"codeToUpperCode": {
"US-CA": "US",
"US-CA-LA": "US-CA"
}
}
可以下载系统内置映射关系参考文件 base-world-geo-map.json查看系统已经支持的常用国家或地区中英文名称、地区代码和上下级关系。该文件仅用于参考,不需要修改或上传。
用户维护的 world-geo-map.json 中只需填写以下内容:
- 系统内置映射中没有的地区名称、地区代码或上下级关系。
- 需要覆盖系统内置映射的名称、地区代码或上下级关系。
用户上传的映射关系配置会与系统内置映射合并;存在相同名称或地区代码时,以用户上传的配置为准。
维护映射关系文件时,请注意:
world-geo-map.json文件名固定,只能在「映射关系」区域维护。- 修改前请先从系统下载当前文件,在已有内容上增补或修改,避免覆盖其他用户已经维护的自定义映射。
- 业务数据中的地区字段也可以直接使用
US-CA等地区代码。此时可以不在textToCode中重复配置该值,但仍需在codeToUpperCode中配置其上级地区,系统才能确定需要加载的地图文件。
地图数据文件
地图数据文件使用 GeoJSON 格式。每个 feature.properties 至少需要包含:
code:当前区域的地区代码(注意唯一性),用于关联业务数据。name:当前区域在地图上显示的名称。
例如,US.json 中的加利福尼亚州可以按以下方式定义:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"code": "US-CA",
"name": "California"
},
"geometry": {
"type": "Polygon",
"coordinates": []
}
}
]
}
上述代码中的 coordinates 仅用于说明文件结构,实际使用时需要填写完整、有效的 GeoJSON 坐标。
地图数据文件遵循“文件名等于当前地图代码”的规则:
| 希望展示的区域 | 业务数据对应的地区代码 | 上级地区代码 | 需要上传的地图文件 |
|---|---|---|---|
| 世界各国家或地区 | US、CN 等 | world1 | world1.json |
| 美国各州 | US-CA、US-NY 等 | US | US.json |
| 加利福尼亚州下级区域 | US-CA-LA 等 | US-CA | US-CA.json |
维护地图数据文件时,请注意:
- 单个地图数据文件仅支持 JSON 格式,文件大小不超过 10 MB,上传前请尽量使用工具进行压缩或裁剪坐标点精度,减小地图加载压力。
- 文件名需要与对应地区代码一致;除
.json后缀外,只能包含字母、数字和中横线。 - 批量导入时压缩包内单个 JSON 文件仍需符合上述规则。
- 新增或批量导入同名文件时,系统会覆盖已有文件。
- 更新已有文件只会替换文件内容,不会修改列表中的原文件名。
- 删除地图数据文件后,依赖该文件的下级地图将无法加载。
上传页面只校验文件类型、大小和文件名,不校验 JSON 语法、GeoJSON 坐标以及 code、name 是否完整。建议在上传前使用 JSON 或 GeoJSON 校验工具检查文件。code 缺失或上下级关系配置错误,可能导致地图无法生成、区域无法着色或下钻后地图加载失败。
使用示例
世界地图卡片的创建和字段配置方法参见世界地图。
以下示例为美国下钻后的效果。示例所需的业务数据、映射关系和地图数据可以参考:世界地图美国下钻示例。
世界级展示效果:

下钻到美国州级区域后的效果:

继续下钻到加利福尼亚州下级区域后的效果:

常见问题
图表提示“当前图表配置的地理位置信息无法识别”
请按以下顺序检查:
- 业务地区名称是否已在
textToCode中配置,或业务数据是否直接使用了有效的地区代码。 - 地区代码是否已在
codeToUpperCode中配置上级地区。 world-geo-map.json是否为合法 JSON,字段名是否正确。
下钻后地图加载失败
请检查对应的地图文件是否已经上传。例如,展示美国各州时需要上传 US.json;展示加利福尼亚州下级区域时需要上传 US-CA.json。
同时确认文件名与 codeToUpperCode 配置完全一致,包括大小写。
地图可以打开,但部分区域没有着色
请检查:
- 业务数据转换后的地区代码是否与 GeoJSON 中
feature.properties.code完全一致。 - GeoJSON 中是否包含
code和name。 - 当前维度数据是否混入其他层级或其他上级地区的数据。
- 业务地区名称是否存在多余空格、不同语言写法或企业自定义别名;如有,请在
textToCode中补充映射。