反馈已提交

网络繁忙

地图自定义GIS图层最大缩放等级

  • 文档创建者:Alicehyy
  • 历史版本:10
  • 最近更新:Tracy.Wang 于 2024-08-28
  • 1. 概述

    1.1 版本

    报表服务器版本功能变动
    11.0.15
    新增:地图配置>自定义GIS图层,支持使用 maxZoom/minZoom 自定义最大/最小缩放等级

    1.2 应用场景

    目前产品中地图的「GIS图层」缩放等级最大为 18,但部分场景下,客户可能需要自定义图层支持 18 以上缩放等级。

    此时可通过 地图配置 自定义 GIS图层,在自定义的 URL 中添加参数 maxZoom 定义最大缩放等级,再在设计器中通过 地图缩放等级接口 实现缩放等级的调整。

    注1:URL 添加参数支持 tilelayer/WMS/WMTS 图层,不支持高德地图图层。

    注2:需与提供地图的服务商确认图层本身支持对应缩放层级

    注3:不支持移动端。

    2. 示例

    2.1 新建模板

    合并一片单元格区域,选中单元格后点击上方工具栏插入图表按钮,插入一个区域地图。如下图所示:

    插入图表.png

    2.2 地图配置

    点击设计器顶部工具栏「服务器>地图配置」,选择「自定义GIS图层」。

    本例选择已有的「tilelayer>深蓝」图层,在其 URL 后添加参数 ?maxZoom=25 ,即定义该图层最大缩放等级为 25 。最后点击「保存」完成设置。

    如下图所示:

    注:内置的「深蓝」图层,第三方厂商已经不再维护,无法保证稳定性,用户可以选择标准图层中的样式进行替换。详情可参考:文档 自定义TileLayer图层  1.3 节。

    Snag_18cbe48.png

    2.3 设置地图

    2.3.1 设置 GIS 图层

    回到设计器普通报表页面,点击地图进入单元格元素,设置「GIS图层」为「自定义>深蓝」。如下图所示:

    GIS.png

    2.3.2 设置加载结束事件

    修改地图配置后,地图的「缩放等级」设置项中并不会增加选项。例如本例「深蓝」图层可选择的最大缩放等级为 16 ,设置 maxZoom 参数之后,设计器中可选最大缩放等级仍为 16 。如下图所示:

    Snag_1941d6e.png

    此时需要通过 JS 事件实现缩放等级的调整。

    普通报表中,在「模板>模板Web属性>分页预览设置」中添加「加载结束」事件,JavaScript 代码如下:

    setTimeout(function() { 
    var chart = FR.Chart.WebUtils.getChart("A1").getChartWithIndex(0); //获取地图对象
    chart.setMapZoom({ zoomLevel: 20 }); //设置缩放等级为 20
    }, 1000);

    步骤如下图所示:

    自定义3.png

    注1:决策报表中,选中地图,在「事件」中添加一个「初始化后」事件,再将 JavaScript 代码中「单元格」换成「地图组件名称」即可。

    注2:FVS 模板中,在「模板>页面加载结束事件」处添加代码,其代码如下:

    setTimeout(function() { 
    var chart =duchamp.getWidgetByName("地图组件名称"); //获取地图对象
    chart.setMapZoom({ zoomLevel: 6 }); //设置缩放等级为 20
    }, 1000);

    2.4 效果预览

    本文示例所用「深蓝」图层最大缩放等级仅支持 16 ,即虽然本文示例可成功实现地图缩放等级为 20 的效果,但预览时,由于无法获取到超过 16 层级后的地图资源,放大后图层看不到任何地理信息。故本文不提供预览效果和模板下载,有需求的客户可参考本文方法实现对应需求。

    附件列表


    主题: 图表应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持