1. 描述编辑
有的时候我们想根据下拉框选择展示对应的地图,比如选择福建省,则下方联动显示福建省的地图,如下图所示:
新特性图表8.4版本及往后的版本支持地图名可接受传参,因此我们可以通过参数实现上述效果,具体步骤如下:
注:钻取地图设计器内不支持
2. 示例编辑
2.1 准备数据
新建工作薄,添加数据集ds1,SQL语句为SELECT * FROM 地图,分别记录中国各个省份各个市的销售额等数据,如下图所示:
2.2 插入图表
以单元格图表为例,合并一片单元格,点击插入>单元格元素>插入图表,选择地图(新特性),图表属性表-类型,选择区域地图,如下图所示:
2.3 图表数据设置
选中图表,在右侧图表属性表中选择图表属性表-数据,如下图所示:
2.4 图表类型设置
选中图表,在右侧图表属性表中选择 图表属性表-类型,地图边界选择 江苏省,GIS图层选择 mapbox,如下图所示:
此时预览模板,可以看到江苏省各市的销售额,如下图所示:
2.5 参数设置
此时我们想要通过下拉框选择对应的省份,联动显示对应省份的地图,点击模板-模板参数,新建参数$province,如下图所示:
将参数新增到参数面板上,province参数控件的类型选择为下拉框,如下图所示:
选中图表,在右侧图表属性表中选择 图表属性表-类型,地图边界选择模板参数下刚刚新增的 province,如下图所示:
参数对应的值为 地图文件在geographic目录下对应的文件路径%FR_HOME%\webapps\webroot\WEB-INF\assets\map\geographic;
例如:province= "geographic/中国/江苏省"对应为地图目录下的中国/江苏省.json;
新建数据集ds2,SQL语句为SELECT distinct pid,'geographic/world/中国/'||pid as newpid FROM 地图 where pid is not null,如下图所示:
province下拉框控件设置数据字典,实际值为newpid(地图内省份地图对应的值),显示值为pid(省份名称),如下图所示:
按照需要可在图表属性表中进一步设置图表样式,例如设置标题,坐标轴标题,字体大小颜色,图例,系列配色,这里不再一一介绍
2.6 保存与预览
保存模板,点击分页预览,效果即如上。
已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\Chart\NewMap\MapAcceptParameters.cpt
点击下载模板:MapAcceptParameters.cpt