使用echarts 绘制县级以下 州里地图并标注若干坐标点。获取县级以下州里的 ...

打印 上一主题 下一主题

主题 804|帖子 804|积分 2412

最终结果:

    要做一个州里级的地图,并标出某些企业的坐标点。
  1、使用高德,但高德不支持县级以下放弃 


 2、使用echarts 图表

但是使用地理坐标系时,我还是没有州里的边界限经纬度。首先要获取边界限啊,方法如下:
   1、 使用 “BIGEMAP GIS Office-万能版” ,获取边界坐标。   软件下载:BIGEMAP GIS Office-万能版

  参考文章:高德地图绘制州里边界限_高德地图体现边界限-CSDN博客
  添加百度地图:
  百度地图url:https://map.baidu.com/
  

  选择要下载的州里。我都下载的能勾选的最小级别,级别越大文件会越大,越清晰,但我只要边界,不必要文件太大。
  

  
  2、将下载的 .kml 文件转为json格式。

  使用工具:geojson.io | powered by Mapbox   网页版
  

  点击左上角 open 导入 文件即可。右侧出现的json,就是我们必要的,直接复制到 .json 文件中就可以了。
  
  至此结束。
   我的完整代码
  1. import luxi from '@/utils/mapData.json'   // 引入地图文件,格式和‘geojson.io | powered by Mapbox ’ 生成的json一模一样
  2.    
  3. // 地图创建方法
  4.           createMap(){
  5.             this.mapChart = echarts.init(document.getElementById('myMap'));
  6.             // 地图散点图配置
  7.             const  stationData = [
  8.               {id:1,name:'企业1',value:[114.039211,27.636837],jb:12,tpf:18},
  9.               {id:2,name:'企业2',value:[114.016862,27.642597],jb:12,tpf:18},
  10.               {id:3,name:'企业3',value:[114.206765,27.62392],jb:12,tpf:18},
  11.             ]
  12.             let option = {
  13.               tooltip: {
  14.                 padding: 10,
  15.                 backgroundColor:"rgba(5,42,99,0.9)",
  16.                 borderColor:"rgba(5,42,99,0.9)",
  17.                 textStyle:{
  18.                   color:"#fff"
  19.                 },
  20.                 show: true,
  21.                 formatter:  (params) =>{
  22.                   return this.createtooltip(params.data)
  23.                 }
  24.               },
  25.               geo: [{
  26.                 map: 'luxi',   // 我的地图文件
  27.                 roam: true,//是否开启鼠标缩放和平移漫游
  28.                 zoom: '1.2',
  29.                 silent:false,   //图形是否不响应和触发鼠标事件,默认为 false,即响应和触发鼠标事件。
  30.                 label: {
  31.                   show:false,
  32.                   normal: {
  33.                     show: true,
  34.                     fontSize: "14",
  35.                     color: "#ffffff"
  36.                   },
  37.                   emphasis: {  //高亮状态下的图形形和标签样式
  38.                     show: true,
  39.                     textStyle: {
  40.                       color: "#fff"
  41.                     }
  42.                   }
  43.                 },
  44.                 itemStyle: {
  45.                   color:{   // 地图块颜色
  46.                     type: 'linear',
  47.                     x: 0,
  48.                     y: 0,
  49.                     x2: 0,
  50.                     y2: 1,
  51.                     colorStops: [{
  52.                       offset: 0, color: '#2f5084' // 0% 处的颜色
  53.                     }, {
  54.                       offset: 1, color: '#2272c9' // 100% 处的颜色
  55.                     }],
  56.                     global: false // 缺省为 false
  57.                   },
  58.                   borderColor: '#acccfb',
  59.                   emphasis: {   // 高亮时的颜色
  60.                     color:{   // 地图块颜色
  61.                       type: 'linear',
  62.                       x: 0,
  63.                       y: 0,
  64.                       x2: 0,
  65.                       y2: 1,
  66.                       colorStops: [{
  67.                         offset: 0, color: '#1764f9' // 0% 处的颜色
  68.                       }, {
  69.                         offset: 1, color: '#2786fe' // 100% 处的颜色
  70.                       }],
  71.                       global: false // 缺省为 false
  72.                     },
  73.                     show: true,
  74.                   }
  75.                 }
  76.               },
  77.               ],
  78.               series: [{    // 使用散点图  标注企业点
  79.                 type: 'scatter',
  80.                 coordinateSystem: 'geo', //使用地理坐标系
  81.                 data: stationData,
  82.                 symbolSize: 10,
  83.                 itemStyle: {
  84.                   normal: {
  85.                     color: '#FFA500' // 设置为橘黄色
  86.                   }
  87.                 },
  88.               }]
  89.             }
  90.             this.mapChart.setOption(option);
  91.             // 散点图点击时
  92.             this.mapChart.on('click',(params)=>{
  93.               console.log(params)
  94.               
  95.             })
  96.           },
  97. // 自定义 提示框
  98.       createtooltip(item){
  99.             const ele = `<div class="qiye-tank" >
  100.                   <div class="tank-title">${item.name}</div>
  101.                   <div class="tank-text">碳排放量总数:${item.tpf}</div>
  102.                   <div class="tank-text">碳效评级:${item.jb}</div>
  103.                 </div>`
  104.             return ele;
  105.           },
复制代码
  1. /* 提示框 样式,千万别加 scoped */
  2. <style lang="scss">
  3.   .qiye-tank {
  4.     white-space: nowrap;
  5.     font-weight: 400;
  6.     font-size: 12px;
  7.     color: #FFFFFF;
  8.     line-height: 2;
  9.     border-radius: 6px;
  10.     .tank-title{
  11.       font-size: 15px;
  12.       font-weight: 700;
  13.     }
  14.   }
  15. </style>
复制代码
 
   其他获取边界方式:(不能具体到州里。)
  1、使用“水经微图”。参考:echarts 根据geojson 数据绘制地区图(精确到镇) - 凉面好好吃 - 博客园
  但是,安装后,未授权的只能看地图不能下载地图。官方客服不理人,还把人踢出群聊。哎,算了,我找别的。
  2、使用“人文帮”。Docs  

  也是客户端,安装就能使。但它是高德家的,也没有具体到州里。(我卸载了,没有截图)
  3、使用  DataV.GeoAtlas地理小工具系列,也没有州里。
  
  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

耶耶耶耶耶

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表