反饋已提交

網絡繁忙

當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

JS实现点击按钮转移地图中心点和钻取

1. 概述

1.1 预期效果

钻取地图需要使用鼠标手动操作进行地图钻取和中心点转移。

现提供一个方法,控件中输入经纬度后点击按钮转移中心点,输入区域名后点击按钮钻取该区域,效果如下图所示:

1535687413udL2xDVM.gif

1.2 实现思路

调用图表相关接口实现,接口包括:

  • chart.panTo(loc) //转移位置

  • charts.drillDown(areas[i]) //下钻到区域 

注:上述接口均不支持移动端。

2. 示例

2.1 准备数据

1)新建决策报表,新建内置数据集 Embedded1,如下图所示:

222  

2)新建内置数据集 Embedded2,如下图所示:

222

2.2 模板布局

拖入参数面板,添加控件钻取区域地图,如下图所示:

Snag_f385657.png

2.3 控件属性

给下拉框控件设置数据字典,如下图所示:

222

2.4 绑定地图数据

数据按各层级分别指定,第 1 层数据如下图所示:

Snag_f482278.png

第 2 层数据如下图所示:

Snag_f495ba4.png

2.5 添加点击事件

2.5.1 中心点移动

选中中心点移动按钮,添加一个点击事件,如下图所示:

Snag_f4b9d27.png

JavaScript 代码如下:

var charts=FR.Chart.WebUtils.getChart("chart0").vanCharts.charts[0];//获取图标对象,即钻取地图
var form=this.options.form;//获取当前表单
var jingdu=form.getWidgetByName("jingdu").getValue();//获取经度文本框
var weidu=form.getWidgetByName("weidu").getValue();//获取纬度文本框
var loc=[weidu*1,jingdu*1];
charts.panTo(loc);//根据经纬度移动中心点

2.5.2 根据区域名下钻

选中根据区域名下钻按钮,添加一个点击事件,如下图所示:

1597894021608336.png

JavaScript 代码如下:

var charts=FR.Chart.WebUtils.getChart("chart0").vanCharts.charts[0];//获取图表对象,即钻取地图
var form=this.options.form;//获取当前表单
var quyu=form.getWidgetByName("quyu").getValue();//获取下拉框控件
var areas= [];
//根据区域下钻
charts.series.forEach(ser => areas.push(...ser.points));
var len=areas.length;
for(var i=0;i<len;i++){
        if(areas[i].name==quyu){
                charts.drillDown(areas[i]);
                break;
        }
}

2.6 效果预览

保存模板,点击PC端预览,效果如1.1预期效果中所示:

注:不支持移动端。

3. 模板下载

已完成模板参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\ doc\Advanced\Chart\Map\点击按钮转移地图中心点和钻取.frm

点击下载模板:点击按钮转移地图中心点和钻取.frm

附件列表


主題: 原简体文档
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉