# map - 地图扩展

为产品的地图可视化组件提供一个新的可用的地图,SuccBI的地图可视化组件自带了中国地图、世界地图和中国各省直辖市的地图,如果实际项目需要新的地图(如某某经济开发区的地图、某地级市的地图),那么可以通过实现新的地图扩展来提供新的可用地图。

在制作仪表板可以拖入地图控件,选择地图扩展作为底图

地图扩展是描述地图上一个区块的信息,如:

  1. 中国的行政区划。
  2. 北京一环、二环、三环的划分。
  3. 铁路路线图。
  4. 机场分布图。
  5. 武汉东湖高新区内部划分:光谷未来城、光谷生物城、光谷中心城等等。

地图扩展由package.json地图文件组成。地图文件支持下面的3种格式:

  1. geojson 文件后缀为geojson。
  2. topojson 文件后缀为topojson。
  3. svg 文件后缀为svg。

地图文件是有层级的,如行政区划中的省市县,这些层级在package.json中说明,不同层级的地图文件都放在根目录下。

# 扩展文件结构

  1. package.json定义扩展的配置信息
  2. xxx.geojson geojson格式的地图文件。
  3. xxx.topojson topojson格式的地图文件。
  4. xxx.svg svg格式的地图文件。

# package.json

示例如下:

{
	"name": "template-map-blank",
	"displayName": "空白地图模板",
	"description": "一个空白的地图模板",
	"version": "1.0.0",
	"thumbnail": "thumbnail.jpg",
	"compatibilities": {
		"platform": "^4.0.0"
	},
	"author": {
		"name": "YourName",
		"email": "name@xxx.com",
		"homePage": "https://www.succez.com/"
	},
	"categories": [
		"datav"
	],
	"main": "main",
	"contributes": {
		"map": {
			"type": "geojson",
			"bbox": [],
			"hierarchies": {
				"id": "map",
				"caption": "地图",
				"items": [
					{
						"id": "area",
						"caption": "区域",
						"items": []
					}
				]
			}
		}
	}
}

# 详细说明

map属性中描述扩展组件的配置信息,包括下列属性:

  1. type 描述地图的类型,是一个json字符串,可以设置这些类型:
    1. geojson geojson格式
    2. topojson topojson格式
    3. svg svg格式
  2. bbox 只有typesvg格式有此属性,是一个有4个值的一维数组,如[73.33,3.51,135.05,53.33],其中前两位表示svg左下角对应的地图经度和维度,后两位表示右上角对应的地图经度和纬度。
  3. hierarchies 描述地图的层级,有以下属性:
    1. id 层级的标识,所有层级中唯一。
    2. caption 描述信息。
    3. bounding 描述区域的边界。可选属性。比如中国的省,但是不显示省内的市,此时会用到省的边界文件,比如山东省"bounding": "370000bound",表示山东省的边界文件为370000bound.geojson
    4. center 只有typesvg格式有此属性,描述中心点的经纬度。如湖北省会以武汉市的经纬度[114.30,30.58]作为中心点。geojsontopjson都是在地图文件中定义此属性的,所以不需要单独定义。
    5. items 所有下级节点。如中国的行政区划有3级,分别为省、市、县区,省的下级就是市,市的下级就是县区。所有层级的格式相同,都通过idcaptionitems等定义。
是否有帮助?
0条评论
评论