位置: IT常识 - 正文

Echarts+高德地图,获取全国省市区,区域板块地图获取并高亮显示(echarts高德地图自定义区域)

编辑:rootadmin
Echarts+高德地图,获取全国省市区,区域板块地图获取并高亮显示

推荐整理分享Echarts+高德地图,获取全国省市区,区域板块地图获取并高亮显示(echarts高德地图自定义区域),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:echarts地图参数设置,echarts+高德地图绘制3维图形,echarts 地图,echarts地图geo,echarts地图geo,echarts高德地图,echarts高德地图自定义区域,echarts高德地图,内容如对您有帮助,希望把文章链接给更多的朋友!

当用户选择省市区之后,可以看到对应区域的高亮显示。

如图:

之前用户选择的是江苏省,因此当前高亮显示的是江苏省地图板块,如果之前用户选择的是成都市,那么地图则会变成四川省的版图,高亮显示成都市,如下图:

可以继续下钻,选择区域高亮显示。

这里分享一个工具: DataV.GeoAtlas地理小工具系列

通过adcode码可以查看全国的地图板块。

注意!注意!具体操作步骤来啦!

1.创建一个存放地图的容器

<div id="charts"></div>Echarts+高德地图,获取全国省市区,区域板块地图获取并高亮显示(echarts高德地图自定义区域)

2.获取容器

myChart = echarts.init(document.getElementById("charts"));

3.运用高德地图获取adcode码,此处我用的是axios来进行获取

axios .get( `https://restapi.amap.com/v3/geocode/geo?address=${ district?city:!district && city?province:!district && !city?'中国':'中国' }&output=JSON&key=af092dccf*********cf19ade46` ) .then((res) => { adcode = res.data.geocodes[0].adcode;})

这里需要注意几个地方:

${district?city:!district && city?province:!district && !city?'中国':'中国'}

以上代码意思是:如果我拿到了区名(锦江区),那么这里就应该用市名(成都市)去生成地图,如果拿到了市名(成都市),那么这里就用省名(四川省)生成地图,以此类推,如果拿到了省名(四川省),那么就用全国(中国)去生成地图。(当然这几个参数是我从后端拿到的数据哈)

key=af092dccf1***********9ade46

这个key就是你在高德地图上申请的key,具体怎么申请可以百度一下。

adcode = res.data.geocodes[0].adcode;

然后就拿到了当前选择区域的adcode

4.通过adcode码,获取到区域地图,这里是通过上面分享的工具DataV.GeoAtlas地理小工具系列

打开之后是这样的:

这里就有请求地址,可以拿到地图,地址里面的 100000也就是中国的adcode。你可以试试输入不同的adcode码左侧会显示不同的区域地图。

具体操作:

myChart.showLoading(); axios .get( `https://geo.datav.aliyun.com/areas_v3/bound/${ adcode == 0 ? 100000 : adcode }_full.json` ) .then((geoJson) => { console.log(geoJson); //获取所有省、市 // console.log(geoJson.data.features); let allData = geoJson.data.features; let seriesData = []; allData.forEach((item) => { // console.log(item.properties.name); // console.log(item); let obj; if (item.properties.name) { if ( item.properties.name == province || item.properties.name == city || item.properties.name == district ) { // console.log(item.properties.center); setLongitudeLatitude(item.properties.center); obj = { name: item.properties.name, value: measure, selected: true, }; } else { obj = { name: item.properties.name, selected: false, }; } seriesData.push(obj); } }); myChart.hideLoading(); echarts.registerMap("ZG", geoJson.data); myChart.setOption( (option = { title: {}, tooltip: { trigger: "item", }, series: [ { type: "map", map: "ZG", silent: true, //禁用地图的hover事件 label: { show: true, }, data: seriesData, zoom: 1, //当前视角的缩放比例 roam: true, //是否开启平游或缩放 scaleLimit: { //滚轮缩放的极限控制 min: 1, max: 3, }, }, ], }) ); });

这里解释一个地方:以下部分代码是找到高亮显示的区域,然后加载series.data里面

接下来看看完整代码吧!

let myChart; let option; const renderChart = (province, city, district, measure) => { myChart = echarts.init(document.getElementById("charts")); let adcode; axios .get( `https://restapi.amap.com/v3/geocode/geo?address=${ district?city:!district && city?province:!district && !city?'中国':'中国' }&output=JSON&key=af092dc********cf19ade46` ) .then((res) => { adcode = res.data.geocodes[0].adcode; myChart.showLoading(); axios .get( `https://geo.datav.aliyun.com/areas_v3/bound/${ adcode == 0 ? 100000 : adcode }_full.json` ) .then((geoJson) => { console.log(geoJson); //获取所有省、市 let allData = geoJson.data.features; let seriesData = []; allData.forEach((item) => { // console.log(item.properties.name); // console.log(item); let obj; if (item.properties.name) { if ( item.properties.name == province || item.properties.name == city || item.properties.name == district ) { // console.log(item.properties.center); setLongitudeLatitude(item.properties.center); obj = { name: item.properties.name, value: measure, selected: true, }; } else { obj = { name: item.properties.name, selected: false, }; } seriesData.push(obj); } }); myChart.hideLoading(); echarts.registerMap("ZG", geoJson.data); myChart.setOption( (option = { title: {}, tooltip: { trigger: "item", }, series: [ { type: "map", map: "ZG", silent: true, //禁用地图的hover事件 label: { show: true, }, data: seriesData, zoom: 1, //当前视角的缩放比例 roam: true, //是否开启平游或缩放 scaleLimit: { //滚轮缩放的极限控制 min: 1, max: 3, }, }, ], }) ); }); }); option && myChart.setOption(option); };

有什么问题一起交流哦,不过回复有点不及时。哈哈哈哈

本文链接地址:https://www.jiuchutong.com/zhishi/287327.html 转载请保留说明!

上一篇:node_开启本地服务(node启动本地服务)

下一篇:睡莲怎么养及种植(睡莲怎样养)

  • iqoo8pro怎么截长图(iqoo7怎么截长图)

    iqoo8pro怎么截长图(iqoo7怎么截长图)

  • 华为mate30是指纹解锁吗

    华为mate30是指纹解锁吗

  • 苹果x拍照怎么加水印(苹果x拍照怎么是反的)

    苹果x拍照怎么加水印(苹果x拍照怎么是反的)

  • 快手实名认证显示已被其他身份使用怎么办(快手实名认证显示已被其他账号认证怎么办)

    快手实名认证显示已被其他身份使用怎么办(快手实名认证显示已被其他账号认证怎么办)

  • ios微信消息声音怎么改(ios微信消息声音在哪里设置)

    ios微信消息声音怎么改(ios微信消息声音在哪里设置)

  • 抖音投放最佳时间是几点?(抖音投放dou什么时候合适)

    抖音投放最佳时间是几点?(抖音投放dou什么时候合适)

  • 苹果手机微信电话为什么不能直接接听(苹果手机微信电话没有声音怎么办)

    苹果手机微信电话为什么不能直接接听(苹果手机微信电话没有声音怎么办)

  • wps图片怎么调整大小(wps图片怎么调整大小快捷键)

    wps图片怎么调整大小(wps图片怎么调整大小快捷键)

  • freebuds3防水级别(freebuds3防水等级)

    freebuds3防水级别(freebuds3防水等级)

  • ipad充电摸后壳有震动感(ipad充电摸后壳有震动感2020)

    ipad充电摸后壳有震动感(ipad充电摸后壳有震动感2020)

  • 苹果16g内存不够怎么办(苹果16g内存不够用有什么办法增加)

    苹果16g内存不够怎么办(苹果16g内存不够用有什么办法增加)

  • 微信充话费是空号会退钱吗(微信充话费充成空号了怎么办)

    微信充话费是空号会退钱吗(微信充话费充成空号了怎么办)

  • 华为nova5pro灭屏显示可以换样式吗(华为nova5pro灭屏显示)

    华为nova5pro灭屏显示可以换样式吗(华为nova5pro灭屏显示)

  • 手机指纹解锁不灵敏是怎么回事(手机指纹解锁不见了怎么办)

    手机指纹解锁不灵敏是怎么回事(手机指纹解锁不见了怎么办)

  • iPhone11如何开机(iphone11开机教程)

    iPhone11如何开机(iphone11开机教程)

  • 苹果手机充电后黑屏无法开机怎么办(苹果手机充电后黑屏了,怎么样能打开)

    苹果手机充电后黑屏无法开机怎么办(苹果手机充电后黑屏了,怎么样能打开)

  • 数据库与文件系统的根本区别(数据库与文件系统的联系)

    数据库与文件系统的根本区别(数据库与文件系统的联系)

  • 手机双微信怎么设置(手机双微信怎么设置支付)

    手机双微信怎么设置(手机双微信怎么设置支付)

  • 荣耀20没有耳机孔(荣耀20没有耳机孔怎么插耳机)

    荣耀20没有耳机孔(荣耀20没有耳机孔怎么插耳机)

  • vivox21a能遥控空调吗(vivox21遥控器在哪)

    vivox21a能遥控空调吗(vivox21遥控器在哪)

  • typec接口和micro区别(typec接口和micro接口)

    typec接口和micro区别(typec接口和micro接口)

  • 微信通话被其他应用中断什么意思(微信通话被其他应用中断,怎么删除)

    微信通话被其他应用中断什么意思(微信通话被其他应用中断,怎么删除)

  • ipad怎么录屏幕视频(苹果14如何录制屏幕)

    ipad怎么录屏幕视频(苹果14如何录制屏幕)

  • 迅雷怎么下载那么慢了(迅雷怎么直接下载)

    迅雷怎么下载那么慢了(迅雷怎么直接下载)

  • 在王者荣耀里,怎么邀请好友加入战队呢?(在王者荣耀里怎么删除好友)

    在王者荣耀里,怎么邀请好友加入战队呢?(在王者荣耀里怎么删除好友)

  • 小满nestjs(第一章 介绍nestjs)(小满秒懂百科)

    小满nestjs(第一章 介绍nestjs)(小满秒懂百科)

  • 核销 坏账
  • 财务费用为什么借方红字
  • 行政事业单位无偿调拨资产会计处理
  • 哪些支出允许在企业所得税前扣除
  • 应付利润的核算内容
  • 因保管不善,不慎遗失
  • 企业所得税25%怎么这么高
  • 劳务派遣专用发票超过9万怎么办理
  • 营改增后工业企业税率是多少?
  • 护栏发票税点
  • 苗木免税发票可以认证增值税吗
  • 增值税又有调整政策吗
  • 旧设备投资的账务处理
  • 金融企业呆账准备金是否允许补提
  • 研发费用的
  • 固定资产报废需要在固定资产系统中
  • 个税专项扣除有几项
  • 因腐败因素形成的损失企业所得税如何处理?
  • 预付账款供应商类别怎么填
  • 公司委托第三方缴纳社保合法吗
  • dll格式的文件
  • 在win7中怎么安转只兼容win10的软件
  • win10电脑时间改了又跳回去
  • 文竹浇白糖水的正确方法
  • 收到退回的保证金
  • 资产负债所有者权益损益类会计科目
  • php获取数组的值
  • 爱德华多·阿涅利
  • 第三方库引用
  • 处置子公司的方式
  • php使用正则表达式提取abcdef
  • vue系列教程
  • 《一文搞懂IoU发展历程》GIoU、DIoU、CIoU、EIoU、αIoU、SIoU
  • 前端vue面试题
  • 奖金的发放应做到
  • 固定资产清理是什么意思
  • 租金发票的税率多少
  • 外币存款利息税
  • 织梦怎么样
  • 哪些费用进项税额要转出
  • 用友怎么取消对账结果
  • 代收代付保险费分录
  • sql注入的原理和步骤
  • sql2008数据库存放位置
  • 可供出售金融资产新准则叫什么
  • 利息收入填在汇算清缴哪里
  • 汇算清缴涉及的税种
  • 广告费和业务宣传费
  • 应收账款客户少付款怎么记账
  • 客户赔款会计科目
  • 供应商质量索赔流程
  • 未达起征点的收入怎么入账
  • 准确配置
  • vista windows
  • 硬盘安装在机箱内,属于主机的组成部分
  • ubuntu如何安装
  • windows8.1安装windows7
  • 打开win七
  • lol进入游戏后电脑没声音
  • linux动态链接库怎么调用
  • CentOS系统中与时间的相关命令详解
  • win10系统宽带连接错误解决方法
  • win8怎么添加桌面
  • cocos2dx解密
  • excel乱码怎么转换
  • jquery库文件
  • python中pandas.DataFrame排除特定行方法示例
  • jquery移动节点的方法
  • 基于jquery的框架
  • jquery时钟插件
  • unity2d小地图
  • js eval
  • 推荐几个非常有趣的书
  • 福建省国税局电话号码
  • 车辆缴纳购置税多少钱
  • 代理记账的账本是什么
  • 车辆购置税完税证明怎么查询
  • 上海市浦东新区人民医院
  • 2023年河北居民养老保险缴费时间
  • 怎样登录市地税局网站
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设