历史版本9 :地图缩放等级接口 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

10.0 图表提供缩放等级接口,通过设置 JavaScript 超级链接,点击地图选择缩放层级后,可直接跳转到该层级,效果如下图所示:

85218AC9-2F22-461E-80A5-F1E6115729B6.GIF

1.2 实现思路

可通过接口chart.setMapZoom({zoomLevel: 5, viewCenter: [110, 40]});设置地图的中心点和对应的缩放等级。

  • zoomLevel:缩放等级,值区间一般在 0-18。数值越大,层级越高,地图显示越细致,显示的经纬度范围越小。

  • viewCenter:中心点,[经度,维度]

注1:缩放等级的设置与各个图层支持的缩放等级一致。比如图层为高德地图时,缩放区间为[3,18];图层为无时,缩放区间为[0,18]。

注2:该接口不支持移动端。

2. 示例一:普通报表编辑

2.1 准备数据

新建普通报表,新建数据集 ds1,SQL 语句为:SELECT * FROM 地图 where 省份="江苏省"

Snag_1d5a0df6.png

2.2 插入图表

将 2 片单元格区域合并为 A1 和 A20 ,分别插入区域地图,如下图所示:

1591584090477837.png

2.3 绑定数据

2 个地图绑定数据的设置一致,如下图所示:

Snag_1d6fa240.png

2.4 添加超级链接

1)选中 A1 单元格,右边属性面板选择特效>交互属性,添加一个JavaScript类型的超级链接,命名为4,[118,32],表示缩放等级为 4 ,经度 118 ,纬度 32 ,如下图所示:

1591585187225074.png

JavaScript 代码如下:

var chart=FR.Chart.WebUtils.getChart("A20").getChartWithIndex(0);
chart.setMapZoom({zoomLevel:4, viewCenter: [118,32]});

2)同理添加另外 2 个超级链接5,[118,32]6,[118,32],区别在于需要将 JavaScript 代码中的zoomLevel改为56,如下图所示:

1591586593124698.png

5,[118,32]的 JavaScript 代码如下:

var chart=FR.Chart.WebUtils.getChart("A20").getChartWithIndex(0);
chart.setMapZoom({zoomLevel:5, viewCenter: [118,32]});

6,[118,32]的 JavaScript 代码如下:

var chart=FR.Chart.WebUtils.getChart("A20").getChartWithIndex(0);
chart.setMapZoom({zoomLevel:6, viewCenter: [118, 32]});

2.5 效果预览

保存报表,点击分页预览,效果如下图所示:

85218AC9-2F22-461E-80A5-F1E6115729B6.GIF

注:不支持移动端。







4.2 示例二:决策报表

1)数据集

新建决策报表,添加数据集 ds1:SELECT * FROM 地图,如下图所示:

2)模板设置

拖动两块钻取地图到空白处,分为左右两块区域,如下图所示:

3)数据设置

设置数据为各层级分别指定,如下图所示:

以上两个图表块设置相同。

4)特效

选择左侧图表块,在特效>交互属性中添加超级链接>JavaScript,如下图所示:

设置超级链接到第二块“地图”图表块,设置缩放等级为 7,中心点分别设置为“江苏省”、“浙江省”、“重庆市”。

//江苏省

var chart=FR.Chart.WebUtils.getChart("chart1").getChartWithIndex(0);
chart.setMapZoom({zoomLevel:7, viewCenter: [120, 33]});
//浙江省
var chart=FR.Chart.WebUtils.getChart("chart1").getChartWithIndex(0);
chart.setMapZoom({zoomLevel:7, viewCenter: [120.10,29]});
//重庆市
var chart=FR.Chart.WebUtils.getChart("chart1").getChartWithIndex(0);
chart.setMapZoom({zoomLevel:7, viewCenter: [108,30.35]});

5)预览效果

保存模板,实现效果如下图:

5. 已完成模板编辑

1)示例一:

已完成模板可参考%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\Chart\NewMap\缩放等级_区域地图.cpt点击下载模板

2)示例二:

已完成模板可参考%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\Chart\NewMap\缩放等级_钻取地图.frm右击存储模板