1. 概述
1.1 版本
报表服务器版本 | 功能变动 |
---|---|
11.0 | - |
11.0.2 | 新增:开放官方接口 chart.drillUp(index) 、chart.getLayerIndex() |
1.2 预期效果
使用钻取地图时,需要使用鼠标手动操作进行地图钻取和中心点转移。
现提供一个方法,控件中输入经纬度后点击按钮转移中心点,选择区域名后点击按钮钻取到该区域。效果如下图所示:
1.3 实现思路
调用图表相关接口实现,接口如下:
chart.panTo(loc) //转移位置
charts.drillDown(areas[i]) //下钻到区域
chart.getLayerIndex() // 获取当前钻取层级,获取的层级从0开始
chart.drillUp(index) // 向上钻取
注1:上述接口均不支持移动端。
注2:上述接口均不支持扩展图表。
注3:FVS 可视化看板详情可见:FVS点击标题转移地图中心点和钻取 。
2. 普通报表示例
在普通报表中,设置图表和参数面板的方法是一致的。不同的是,在按钮点击事件中,图表对象以及调用参数控件的方法有所不同。
图表对象需换成图表所在的单元格,如 var chart=FR.Chart.WebUtils.getChart("A1").getChartWithIndex(0);
普通报表中获取参数面板控件时需调用参数面板接口,如 var jingdu=_g().getParameterContainer().getWidgetByName("jingdu").getValue();
所以在普通报表中,「中心点移动」按钮点击事件的 JavaScript 代码如下:
「根据区域名下钻」按钮点击事件的 JavaScript 代码如下:
普通报表分页预览效果如下图所示:
注:不支持移动端。
3. 决策报表示例
3.1 准备数据
点击设计器左上角「文件>新建决策报表」,新建空白模板。
1)新建内置数据集 Embedded1,如下图所示:
2)新建内置数据集 Embedded2,如下图所示:
3.2 设计模板
向 body 中拖入「钻取地图」和「参数面板」,最终效果如下图所示:
3.2.1 钻取地图设置
1)双击钻取地图,进入编辑状态,类型选择「区域地图」,地图边界选择「中国」,其余设置可自行选择。如下图所示:
2)地图数据选择「各层级分别指定」,第 1 层绑定 Embedded1 的区域数据,第 2 层绑定 Embedded2 的市级数据。如下图所示:
3.2.2 设置参数面板
1)选中参数面板 para,将「点击查询前不显示报表内容」取消勾选,否则地图在点击「查询」前不会显示。如下图所示:
2)将要使用的控件直接拖入参数面板,各控件设置及用途如下:
拖入 3 个标签控件,作提示文本使用。设置「属性>控件值」分别为字符串「经度」、「纬度」、「下钻区域名」。
拖入 2 个文本控件,预览模板时用来输入经度和纬度。分别设置「属性>控件名称」为「jingdu」、「weidu」。
拖入 1 个下拉框控件,用来绑定地图区域。设置「属性>控件名称」为「quyu」,绑定数据字典如下图所示:
拖入 2 个按钮控件,按钮名字分别为「中心点移动」,「根据区域名下钻」。
3.3 添加点击事件
3.3.1 中心点移动
选中「中心点移动」按钮,添加一个点击事件,输入 JavaScript 代码:
注:11.0 决策报表旧自适应下需要使用 _g().getParameterContainer().getWidgetByName("textEditor0").getValue() 获取控件值。
如下图所示:
3.3.2 根据区域名下钻
选中「根据区域名下钻」按钮,添加一个点击事件,输入 JavaScript 代码:
如下图所示:
3.4 效果预览
保存模板,点击「PC端预览」,效果如 1.1 预期效果中所示。
注:不支持移动端。
4. 模板下载
已完成模板参见:
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Chart\Map\点击按钮转移地图中心点和钻取.frm
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Chart\Map\点击按钮转移地图中心点和钻取.cpt
点击下载模板: