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

  • 文档创建者:jiangsr
  • 编辑次数:12次
  • 最近更新:Leo.Tsai 于 2020-06-05
  • 1. 概述

    1.1 预期效果

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

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

    222

    1.2 实现思路

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

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

    • chart.validPoints //获取区域 

    • 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 根据区域名下钻

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

    Snag_f4e2a6a.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.validPoints;
    var len=areas.length;
    for(var i=0;i<len;i++){
    if(areas[i].name==quyu){
    charts.drillDown(areas[i]);
    break;
    }
    }

    2.6 效果预览

    保存模板,点击表单预览,效果如下图所示:

    222

    注:不支持移动端。

    3. 模板下载

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

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

    附件列表


    主题: 图表应用
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!