当前位置:   article > 正文

echarts绘制3D地图_echarts3d地图位置

echarts3d地图位置

echarts绘制3D地图实现平移、缩放

所需依赖

 准备工作:main.js中引入依赖

 

先上图

代码直接复制粘贴就可以使用了,根据自己需求稍作修改就可以使用了

 html代码部分

  1. <div class="map">
  2. <div id="3Dmap" class="main"></div>
  3. </div>

js代码部分

  1. var myChart = this.$echarts.init(document.getElementById("3Dmap"));
  2. this.$echarts.registerMap("haerbin", haerbin);
  3. var _this = this;
  4. this.option = {
  5. tooltip: {
  6. show: true,
  7. triggerOn: "mousemove", //鼠标hover地图区域时出现
  8. trigger: "item",
  9. transitionDuration: 0, //直接出现提示框
  10. formatter: function (params) {
  11. // console.log(params,'params')
  12. //返回的是dom结构,可以在这里写好样式,也可以使用下面的配置项去设置样式
  13. return `<div style="position:absolute;left:10px;top:16px;width:8px;height:8px;background-color:#FD9A5A;"></div>
  14. <div class="tips" style="padding:12px;">
  15. <h1 style="font-size:16px;">${params.name}</h1>
  16. <p style="font-size:16px;">
  17. <span style="color:#03dbf3;font-size:30px;display:inline-block;padding:5px 0">${params.data.num}</span>
  18. </p>
  19. </div>`;
  20. },
  21. //这里就是设置地图自带的弹框样式
  22. borderColor: "#419bf9",
  23. borderWidth: 1,
  24. // padding: [0, 15],
  25. // backgroundColor: '#0a1d54',
  26. backgroundColor: "rgba(0,2,89,0.8)",
  27. borderRadius: 0,
  28. textStyle: { color: "#fff" },
  29. },
  30. series: [
  31. {
  32. // name: "haerbin",
  33. type: "map3D", //需要使用3d地图
  34. // type: 'map',
  35. map: "haerbin", //地图类型。echarts-gl 中使用的地图类型同 geo 组件相同
  36. regionHeight: 3, //模型的高度
  37. boxWidth: 70, //三维地图在三维场景中的宽度
  38. boxDepth: 73, //三维地图在三维场景中的深度
  39. top: "-15%",
  40. itemStyle: {
  41. normal: {
  42. //静态模式下显示的默认样式
  43. borderColor: "#3f82e5",
  44. borderWidth: 2,
  45. // color: "#0a55ea",
  46. color: "rgba(8, 72, 197, 0.4)",//建议使用rgba设置透明度,使用opacity会导致文字变色
  47. // opacity: 0.4,
  48. }, //阴影效果
  49. emphasis: {
  50. // color:'#3f82e5',#0636A2
  51. color: "#0a55ea",
  52. // opacity:0.5,
  53. label: {
  54. show: true,
  55. },
  56. },
  57. },
  58. label: {
  59. show: true,
  60. fontSize: 18,
  61. formatter: (params) => {
  62. var str = params.data.name;
  63. // return params.data.name + "\n\n\n" + params.data.num;
  64. if (params.data.name == "平房区") {
  65. // return str= "<div style='width:10px;height:10px;border-radius:50%;color:#fff'>"+1+"</div>";
  66. return (str = "①");
  67. }
  68. if (params.data.name == "香坊区") {
  69. return (str = "②");
  70. }
  71. if (params.data.name == "南岗区") {
  72. return (str = "③");
  73. }
  74. if (params.data.name == "道外区") {
  75. return (str = "④");
  76. }
  77. if (params.data.name == "道里区") {
  78. return (str = "⑤");
  79. }
  80. return str;
  81. },
  82. textStyle: {
  83. color: "white",
  84. },
  85. },
  86. viewControl: {
  87. minBeta: -360,
  88. maxBeta: 360,
  89. alpha: 50,
  90. center: [0, -10, -10], //位置点
  91. distance: 100, //缩放比例,默认视角距离主体的距离,对于 globe 来说是距离地球表面的距离,对于 grid3D 和 geo3D 等其它组件来说是距离中心原点的距离。在 projection 为'perspective'的时候有效。
  92. minDistance: 30,
  93. maxDistance: 140,
  94. panMouseButton: "left",
  95. rotateMouseButton: "middle",
  96. zoomSensitivity: 1,
  97. // autoRotate: true, //是否开启视角绕物体的自动旋转查看,可开启自行测试
  98. },
  99. data: this.list,
  100. },
  101. ],
  102. };
  103. myChart.setOption(this.option);

绘制3D地图可能会引起地图上标注点,跟所需点有偏差的情况,这样需要去修改引用的json文件

 地图json数据可以到DataV.GeoAtlas地理小工具系列下载或引用即可

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

闽ICP备14008679号