码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 地图可视化:基于 Echarts + 百度地图bmap + 时间轴timeline + 多边形(multi)polygon + 点scatter 的可视化案例


    一、效果展示

     ​​​​​​

     

     二、关键技术

    • 百度地图 bmap.min.js 。
    • polygon 多边形的绘制 renderItem 自定义函数。
    • timeline 时间轴。

    三、代码分析

     1、坐标定位的实现

    重点:echarts series 中的   type: "scatter", coordinateSystem: "bmap"

    1. {
    2. name: "坐标点示例",
    3. type: "scatter",
    4. coordinateSystem: "bmap",
    5. symbol: "pin",
    6. symbolSize: 30,
    7. // symbol 图形的颜色
    8. color: "red",
    9. data: [{ name: "公司坐标", value: [117, 36] }],
    10. },

    2、polygon多边形的实现

    2.1 重点:自定义函数 renderItem: render_polygon,  以及 data: []

    1. {
    2. name: "多边形polygon示例",
    3. type: "custom",
    4. coordinateSystem: "bmap",
    5. renderItem: render_polygon,
    6. itemStyle: {
    7. normal: {
    8. opacity: 0.5,
    9. fill: "#00f",
    10. },
    11. emphasis: {
    12. fill: "#f0f",
    13. },
    14. },
    15. data: [],
    16. },

    2.2 render_polygon 实现

    1. function render_polygon(params, api) {
    2. data = JSON.parse(api.value());
    3. var properties = data.properties;
    4. var type = data.geometry.type;
    5. // polygon
    6. var coords_list = data.geometry.coordinates;
    7. var rsp_list = [];
    8. for (var i = 0; i < coords_list.length; i++) {
    9. var points = [];
    10. var coords = coords_list[i];
    11. for (var j = 0; j < coords.length; j++) {
    12. points.push(api.coord(coords[j]));
    13. }
    14. rsp = {
    15. type: "polygon",
    16. shape: {
    17. points: points,
    18. },
    19. style: properties,
    20. };
    21. rsp_list.push(rsp);
    22. }
    23. return {
    24. type: "group",
    25. children: rsp_list,
    26. };
    27. }

    2.3 动态对 data 赋值

    重点:此处data必须传string,不能传object,否则render_polygon中的api.value() 取不到值。

    1. op = {
    2. series: {
    3. name: "雷电短期预报",
    4. type: "custom",
    5. coordinateSystem: "bmap",
    6. renderItem: render_polygon,
    7. // 此处data必须传string,不能传object
    8. data: [[JSON.stringify(features[i])]],
    9. },
    10. };

    3、timeline 时间轴

    Documentation - Apache EChartsECharts, a powerful, interactive charting and visualization library for browserhttps://echarts.apache.org/zh/option.html#timeline重点:timeline 和其他场景有些不同,它需要操作『多个option』。我们把传入 setOption 第一个参数的东西,称为 ECOption,然后称传统的 ECharts 单个 option 为 ECUnitOption。

    1. var option_lightingLong = {
    2. // `baseOption` 的属性.
    3. baseOption: {
    4. bmap: {
    5. center: [157, 46],
    6. zoom: 6,
    7. roam: true,
    8. },
    9. timeline: {
    10. left: "25%",
    11. right: "25%",
    12. // 须指定 axisType: category timeline 点击事件才生效
    13. axisType: "category",
    14. // 初始加载时样式
    15. // 对应 switchableOption`s: options 数量
    16. data: ["今天", "明天"],
    17. },
    18. // series 必须定义好全部的系列
    19. series: [
    20. {
    21. name: "坐标点示例",
    22. type: "scatter",
    23. coordinateSystem: "bmap",
    24. symbol: "pin",
    25. symbolSize: 30,
    26. // symbol 图形的颜色
    27. color: "red",
    28. data: [{ name: "公司坐标", value: [157, 46] }],
    29. },
    30. {
    31. name: "多边形示例",
    32. type: "custom",
    33. coordinateSystem: "bmap",
    34. renderItem: render_polygon,
    35. data: [],
    36. },
    37. ],
    38. },
    39. // `switchableOption`s:
    40. // options中的series只需定义动态的series即可。
    41. options: [],
    42. };

    至此,效果图上的关键知识基本OK。

    四、资源下载

    基于Echarts+百度地图bmap+时间轴timeline+polygon+scatter的可视化案例-企业管理文档类资源-CSDN下载更多资料参考:https://yydatav.blog.csdn.net/article/deta更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/lildkdkdkjf/86399452

    更多地图相关:

    【26】地图可视化:基于 Echarts + Java SpringBoot 的动态实时地图组件 - 点&气泡&流向&组合&区域&三级下钻地图_YYDataV数据可视化的博客-CSDN博客_地图可视化组件

    本次分享结束,欢迎交流!微信 6550523.  

  • 相关阅读:
    【ORM】浅聊C#和Java的ORM底层框架
    前端绘制地铁路线图
    HTTP 网关 GZIP 页面零开销注入 JS
    三七皂苷-壳聚糖(PNS-CSB)水凝胶/聚乙烯吡咯烷酮/pH敏感性羧甲基/壳聚糖水凝胶的制备
    Spring MVC 七 - Locale 本地化
    vlan虚拟局域网学习笔记
    Yolov5算法解读
    计算机二级-简单应用题
    【二分法查找】
    每天五分钟机器学习:通过查准率和召回率绘制P-R曲线
  • 原文地址:https://blog.csdn.net/lildkdkdkjf/article/details/126295137
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号