echarts舆图-舆图geoJson获取以及用标记方式实现乡镇级舆图 ...

打印 上一主题 下一主题

主题 968|帖子 968|积分 2904

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
碰到一个需求,需要展示一个区县舆图,同时鼠标移入还能看各个乡镇的数据。我找了很久都没有找到乡镇级的geoJson,最多只找到区县级,区县级json获取地点如下:
DataV.GeoAtlas地理小工具系列
但是鼠标移入展示乡镇数据,如何实现呢?虽然我背面通过朋友拿到了乡镇级的json数据,但是太贫困了末了还是决定用添加标记的方法来实现。假如想要乡镇数据可以私我。
实现思绪:
1、下载区县json
2、获取乡镇经纬度
获取乡镇经纬度可以到各种网站上找,好比百度舆图,高德舆图等。我是在这个地点上找的
免费下载实时更新的geoJson数据、行政区划边界数据、区划边界坐标集合__HashTang (hxkj.vip)

3、配置option
  1. const initChartMap = () => {
  2.   if (mapChart.value) {
  3.     echarts.registerMap("basu", mapJosn);
  4.     const data_map_data = [
  5.       {
  6.         name: "湛普镇",
  7.         coord: [96.511013, 30.396193],
  8.         area: 5000,
  9.         people: 2000,
  10.         economy: 3000,
  11.       },
  12.       {
  13.         name: "龙孔镇",
  14.         coord: [96.965057, 29.881027],
  15.         area: 5000,
  16.         people: 2000,
  17.         economy: 3000,
  18.       },
  19.       {
  20.         name: "吉中乡",
  21.         coord: [97.299092, 30.534268],
  22.         area: 5000,
  23.         people: 2000,
  24.         economy: 3000,
  25.       },
  26.       {
  27.         name: "郭庆乡",
  28.         coord: [96.564165, 30.871071],
  29.         area: 5000,
  30.         people: 2000,
  31.         economy: 3000,
  32.       },
  33.       {
  34.         name: "帮达镇",
  35.         coord: [97.188908, 30.108502],
  36.         area: 5000,
  37.         people: 2000,
  38.         economy: 3000,
  39.       },
  40.       {
  41.         name: "然乌镇",
  42.         coord: [96.774863, 29.59903],
  43.         area: 5000,
  44.         people: 2000,
  45.         economy: 3000,
  46.       },
  47.       {
  48.         name: "拥巴乡",
  49.         coord: [96.398919, 30.682171],
  50.         area: 5000,
  51.         people: 2000,
  52.         economy: 3000,
  53.       },
  54.       {
  55.         name: "拉根乡",
  56.         coord: [97.015527, 30.184798],
  57.         area: 5000,
  58.         people: 2000,
  59.         economy: 3000,
  60.       },
  61.       {
  62.         name: "白玛镇",
  63.         coord: [96.792551, 30.18467],
  64.         area: 5000,
  65.         people: 2000,
  66.         economy: 3000,
  67.       },
  68.       {
  69.         name: "瓦乡",
  70.         coord: [96.635502, 30.180611],
  71.         area: 5000,
  72.         people: 2000,
  73.         economy: 3000,
  74.       },
  75.       {
  76.         name: "益庆乡",
  77.         coord: [97.213848, 30.657963],
  78.         area: 5000,
  79.         people: 2000,
  80.         economy: 3000,
  81.       },
  82.       {
  83.         name: "卡瓦白庆乡",
  84.         coord: [96.854166, 30.253626],
  85.         area: 5000,
  86.         people: 2000,
  87.         economy: 3000,
  88.       },
  89.       {
  90.         name: "同卡镇",
  91.         coord: [96.411964, 30.671348],
  92.         area: 5000,
  93.         people: 2000,
  94.         economy: 3000,
  95.       },
  96.       {
  97.         name: "吉达乡",
  98.         coord: [96.632878, 29.6135],
  99.         area: 5000,
  100.         people: 2000,
  101.         economy: 3000,
  102.       },
  103.     ];
  104.     const option = {
  105.       tooltip: {
  106.         trigger: "item",
  107.         formatter: function (params) {
  108.           if (params.data) {
  109.             return `<span style='font-family:MiSans-Bold'>${params.data.name}</span><br/> 区域面积:${params.data.area}km²<br/>人口数量:${params.data.people}人<br/>经济总量:${params.data.economy}万`;
  110.           }
  111.           return params.name;
  112.         },
  113.       },
  114.       series: [
  115.         {
  116.           name: "",
  117.           type: "map",
  118.           mapType: "basu",
  119.           zoom: 1,
  120.           label: {
  121.             normal: {
  122.               show: true,
  123.               textStyle: {
  124.                 color: "#fff",
  125.                 fontSize: "16",
  126.               },
  127.             },
  128.             emphasis: {
  129.               show: true,
  130.               textStyle: {
  131.                 color: "#fff",
  132.                 fontSize: "16",
  133.               },
  134.             },
  135.           },
  136.           roam: true,
  137.           itemStyle: {
  138.             normal: {
  139.               areaColor: "rgba(7,157,233,0.4)",
  140.               borderColor: "#ddd",
  141.             },
  142.             emphasis: {
  143.               areaColor: "#3093d8",
  144.             },
  145.           },
  146.           markPoint: {
  147.             symbol: "circle",
  148.             symbolSize: 10,
  149.             label: {
  150.               show: true,
  151.               fontSize: "1rem",
  152.               color: "#fff",
  153.               formatter: function (d) {
  154.                 return d.name;
  155.               },
  156.             },
  157.             data: data_map_data,
  158.           },
  159.         },
  160.       ],
  161.     };
  162.     // 使用刚指定的配置项和数据显示图表。
  163.     mapChart.value.setOption(option);
  164.   }
  165. };
复制代码
效果图如下:


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

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

前进之路

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表