当前位置:   article > 正文

高德地图+echarts 地图数据可视化_高德地图数据可视化

高德地图数据可视化

使用高德地图+echarts开发散点图和流线图 实现自定义图标

安装npm install echarts-extension-amap --save

在main.js引入// 高德离线地图

import VueAMap from 'vue-amap';

Vue.use(VueAMap);

VueAMap.initAMapApiLoader({

  // 高德key

  key: 'f697ef3360d0ffad74bf17d5e183082c', // 自己到官网申请,我随便写的

  // 插件集合 (插件按需引入)

  plugin: ['AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor', 'AMap.MarkerClusterer'],

  v: '1.4.15', // 我也不知道为什么要写这个,不写项目会报错,而且我随便写的,跟我下载的版本对应不了

  uiVersion: '1.0.11' // ui版本号,也是需要写,不配置不加载,

})

require('echarts-extension-amap');

完整代码

//容器 使用ref

  1. <template>
  2.   <div class="map" ref="map"></div>
  3. </template>
  4. <script>
  5. export default {
  6.   data() {
  7. return {
  8. //飞线数组
  9.       flyLine: [
  10.         {
  11.           coords: [
  12.             [116.496437, 39.913523],
  13.             [123.499706, 41.857793],
  14.           ],
  15.         },
  16.         {
  17.           coords: [
  18.             [116.496437, 39.913523],
  19.             [86.113232, 43.684254],
  20.           ],
  21.         },
  22.         {
  23.           coords: [
  24.             [116.496437, 39.913523],
  25.             [87.343701, 35.720308],
  26.           ],
  27.         },
  28.         {
  29.           coords: [
  30.             [116.496437, 39.913523],
  31.             [101.406201, 24.177443],
  32.           ],
  33.         },
  34.         {
  35.           coords: [
  36.             [116.496437, 39.913523],
  37.             [111.249951, 24.976714],
  38.           ],
  39.         },
  40.         {
  41.           coords: [
  42.             [116.496437, 39.913523],
  43.             [107.206982, 33.843608],
  44.           ],
  45.         },
  46.         {
  47.           coords: [
  48.             [116.496437, 39.913523],
  49.             [115.468701, 43.557002],
  50.           ],
  51.         },
  52.         {
  53.           coords: [
  54.             [116.496437, 39.913523],
  55.             [107.031201, 37.134586],
  56.           ],
  57.         },
  58.         {
  59.           coords: [
  60.             [116.496437, 39.913523],
  61.             [99.648388, 38.522914],
  62.           ],
  63.         },
  64.         {
  65.           coords: [
  66.             [116.496437, 39.913523],
  67.             [124.081982, 49.361353],
  68.           ],
  69.         },
  70.       ],
  71. //散点数组
  72.       goals: [
  73.         [123.499706, 41.857793],
  74.         [86.113232, 43.684254],
  75.         [87.343701, 35.720308],
  76.         [101.406201, 24.177443],
  77.         [111.249951, 24.976714],
  78.         [107.206982, 33.843608],
  79.         [115.468701, 43.557002],
  80.         [107.031201, 37.134586],
  81.         [107.031201, 37.134586],
  82.         [99.648388, 38.522914],
  83.         [124.081982, 49.361353],
  84.       ],
  85.     };
  86.   },
  87.   updated() {},
  88. //初始化界面
  89.   mounted() {
  90.     this.mapInit();
  91.   },
  92.   created() {},
  93.   methods: {
  94. mapInit() {
  95. //散点数组
  96.       const points = [
  97.         [120.33333, 36.06667],
  98.         [(118.1, 24.46667)],
  99.         [(119.3, 26.08333)],
  100.         [103.73333, 36.03333],
  101.         [106.71667, 26.56667],
  102.         [113.0, 28.21667],
  103.         [118.78333, 32.05],
  104.         [115.9, 28.68333],
  105.       ];
  106. //散点数组
  107.       const pointdata = [
  108.         [116.33333, 36.06667],
  109.         [(118.1, 24.46667)],
  110.         [(109.3, 24.08333)],
  111.         [103.73333, 26.03333],
  112.         [106.71667, 28.56667],
  113.         [120.0, 27.21667],
  114.         [118.78333, 25.05],
  115.         [105.9, 38.68333],
  116.       ];
  117. //散点数组
  118.       const pointdata1 = [
  119.         [110.33, 38.06667],
  120.         [108.1, 29.46667],
  121.       ];
  122.       let _this = this;
  123. //echarts
  124.       let option = {
  125.         // 加载 amap 组件
  126.         amap: {
  127.           // 高德地图中心经纬度
  128.           center: [105.397428, 38.90923], //中心点
  129.           // 高德地图缩放
  130.           zoom: 4.5,
  131.           // 启用resize
  132.           resizeEnable: true,
  133.           // 自定义地图样式主题
  134.           mapStyle: "amap://styles/darkblue", //地图主题
  135.           // viewMode:'3D',//开启3D视图,默认为关闭
  136.           // expandZoomRange:true,
  137.           // zooms:[3,20],
  138.           // pitch: 40
  139.         },
  140.         // 图例
  141.         legend: {
  142.           data: [
  143.             {
  144.               name: "5G基站设备",
  145.               icon: "image://" + require("../../../public/map/jzl.png"),
  146.             },
  147.             {
  148.               name: "边缘云",
  149.               icon: "image://" + require("../../../public/map/byyl.png"),
  150.             },
  151.             {
  152.               name: "核心网",
  153.               icon: "image://" + require("../../../public/map/hxwl.png"),
  154.             },
  155.           ],
  156.          
  157.           // 图例大小
  158.           // 宽
  159.           itemWidth: 40,
  160.           // 高
  161.           itemHeight: 40,
  162.           orient: "vertical", // 竖向排列 horizontal横向
  163.           // 位置
  164.           right: 50,
  165.           bottom: 100,
  166.           y: "bottom",
  167.           x: "left",
  168.           // 文字样式
  169.           textStyle: {
  170.             color: "blue",
  171.             fontSize: 16,
  172.           },
  173.           selected: {
  174.             jzl: true,
  175.             byyl: true,
  176.             // 不想显示的都设置成false
  177.           },
  178.           padding: [0, 10, 20, 20],
  179.         },
  180.         tooltip: {
  181.           trigger: "item",
  182.           show: true,
  183.         },
  184.         animation: false,
  185.         series: [
  186.           // 流线
  187.           {
  188.             coordinateSystem: "amap", // 该系列使用的坐标系是高德地图的坐标系
  189.             type: "lines", // 该类型用于地图上路线的绘制
  190.             zlevel: 1, // 相当于z-index
  191.             effect: {
  192.               // 线特效的配置
  193.               show: true, // 是否显示特效
  194.               period: 5, // 特效动画的时间
  195.               trailLength: 0.05, // 特效尾迹的长度 0-1
  196.               color: "#3437ff", // 特效的颜色
  197.               symbolSize: 5, // 特效的大小
  198.             },
  199.             lineStyle: {
  200.               // 线的颜色
  201.               normal: {
  202.                 color: "rgba(47,68,200,0.1)",
  203.                 width: 2,
  204.                 curveness: 0.2,
  205.               },
  206.             },
  207.             data: _this.flyLine,
  208.           },
  209.        
  210.           {
  211.             name: "5G基站设备",
  212.             type: "scatter",
  213.             // 使用高德地图坐标系
  214.             coordinateSystem: "amap",
  215.             symbol: `image://map/jzl.png`,
  216.             //自定义图片的 大小
  217.             symbolSize: [20, 20],
  218.             data: _this.goals,
  219.             zlevel: 1,
  220.           },
  221.           {
  222.             type: "scatter",
  223.             name: "边缘云",
  224.             // 使用高德地图坐标系
  225.             coordinateSystem: "amap",
  226.             symbol: `image://map/byyl.png`,
  227.             //自定义图片的 大小
  228.             symbolSize: [40, 40],
  229.             data: points,
  230.             zlevel: 1,
  231.           },
  232.           {
  233.             type: "scatter",
  234.             name: "核心网",
  235.             // 使用高德地图坐标系
  236.             coordinateSystem: "amap",
  237.             symbol: `image://map/hxwl.png`,
  238.             //自定义图片的 大小
  239.             symbolSize: [40, 40],
  240.             data: pointdata,
  241.             zlevel: 1,
  242.           },
  243.           {
  244.             type: "scatter",
  245.             name: "核心网",
  246.             // 使用高德地图坐标系
  247.             coordinateSystem: "amap",
  248.             symbol: `image://map/hxwh.png`,
  249.             //自定义图片的 大小
  250.             symbolSize: [40, 40],
  251.             data: pointdata1,
  252.             zlevel: 1,
  253.           },
  254.         ],
  255.       };
  256.       var map = new AMap.Map('container', {
  257.     zoom: 4,
  258.     mapStyle: 'amap://styles/darkblue', //设置地图的显示样式
  259. });
  260.       let chart = this.$echarts.init(_this.$refs.map);
  261.       chart.setOption(option);
  262.     },
  263.   },
  264. };
  265. </script>
  266. <style lang="scss" scoped>
  267. .map {
  268.   width: 100%;
  269.   height: 100%;
  270. }
  271. </style>

代码中使用的自定义图标可以使用下自己的图片 放在public下自己创建一个文件夹 我是叫做map文件夹  路径自己修改下 就好了 这是散点图 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/424948
推荐阅读
  

闽ICP备14008679号