位置: 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启动本地服务)

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

  • iphone6s plus上市时间(iphone6s 内存)(iphone6s plus上市时间)

    iphone6s plus上市时间(iphone6s 内存)(iphone6s plus上市时间)

  • 360电脑锁屏壁纸怎么关闭(360电脑锁屏壁纸死机)

    360电脑锁屏壁纸怎么关闭(360电脑锁屏壁纸死机)

  • 网易云怎么看歌词(网易云怎么看歌曲收藏量)

    网易云怎么看歌词(网易云怎么看歌曲收藏量)

  • 苹果简短验证一直空白(苹果简短验证一直失败)

    苹果简短验证一直空白(苹果简短验证一直失败)

  • 爱奇艺ipad没有弹幕(爱奇艺ipad没有直播)

    爱奇艺ipad没有弹幕(爱奇艺ipad没有直播)

  • 老年手机恢复出厂设置密码是多少(老年手机恢复出厂设置初始密码)

    老年手机恢复出厂设置密码是多少(老年手机恢复出厂设置初始密码)

  • 微信看不到对方朋友圈背景(微信看不到对方正在输入)

    微信看不到对方朋友圈背景(微信看不到对方正在输入)

  • 快手没实名认证会影响作品吗(快手没实名认证能查到那人吗)

    快手没实名认证会影响作品吗(快手没实名认证能查到那人吗)

  • 可以异地补手机卡吗(异地补手机卡怎么补办)

    可以异地补手机卡吗(异地补手机卡怎么补办)

  • ip地址相同是很近吗(ip地址相同怎么办)

    ip地址相同是很近吗(ip地址相同怎么办)

  • 一加8是2k屏吗(一加8是全系2k屏幕吗)

    一加8是2k屏吗(一加8是全系2k屏幕吗)

  • 华为手机nova7pro上市了吗(华为手机nova7pro换屏需要多少钱)

    华为手机nova7pro上市了吗(华为手机nova7pro换屏需要多少钱)

  • oppor11五大隐藏功能(oppor 11手机的隐藏功能在哪里)

    oppor11五大隐藏功能(oppor 11手机的隐藏功能在哪里)

  • 看不到对方朋友圈背景墙是什么原因(看不到对方朋友圈是被屏蔽了还是被删除了)

    看不到对方朋友圈背景墙是什么原因(看不到对方朋友圈是被屏蔽了还是被删除了)

  • 淘宝超时关闭啥意思(淘宝超时关闭但已付款了)

    淘宝超时关闭啥意思(淘宝超时关闭但已付款了)

  • 如何删除游戏中心软件(如何删除游戏中心软件vivo)

    如何删除游戏中心软件(如何删除游戏中心软件vivo)

  • 小米10为什么只有一个摄像头有用(小米10为什么只有充电时才能换浅色模式)

    小米10为什么只有一个摄像头有用(小米10为什么只有充电时才能换浅色模式)

  • 苹果xsmax停产了吗(苹果xsmax停产了吗 为什么还能买到)

    苹果xsmax停产了吗(苹果xsmax停产了吗 为什么还能买到)

  • 快手做视频用什么软件(快手做视频用什么)

    快手做视频用什么软件(快手做视频用什么)

  • 手机没插耳机显示耳机模式怎么关闭(手机没插耳机显示耳机)

    手机没插耳机显示耳机模式怎么关闭(手机没插耳机显示耳机)

  • 计算器的cnc键代表什么(计算器各键)

    计算器的cnc键代表什么(计算器各键)

  • 手机怎么设置路由器(手机怎么设置路由器wifi密码192.168.1.1)

    手机怎么设置路由器(手机怎么设置路由器wifi密码192.168.1.1)

  • 苹果xr怎么使用无线充电(苹果xr怎么使用双卡双待设置)

    苹果xr怎么使用无线充电(苹果xr怎么使用双卡双待设置)

  • ipad如何存放文件(ipad怎么存储文件)

    ipad如何存放文件(ipad怎么存储文件)

  • 长虹电视怎么切换到机顶盒(长虹电视怎么切换数字电视)

    长虹电视怎么切换到机顶盒(长虹电视怎么切换数字电视)

  • 如何修改微信二维码收款名字(如何修改微信二维码)

    如何修改微信二维码收款名字(如何修改微信二维码)

  • 金立手机相册加密的照片在哪里(金立手机相册加锁怎么弄)

    金立手机相册加密的照片在哪里(金立手机相册加锁怎么弄)

  • b612咔叽怎么拼图(b612咔叽怎么拼图相片里的图片苹果手机)

    b612咔叽怎么拼图(b612咔叽怎么拼图相片里的图片苹果手机)

  • vivox27pro可以刷门禁卡吗(vivox27pro刷机包)

    vivox27pro可以刷门禁卡吗(vivox27pro刷机包)

  • 航天信息金税盘未打开
  • 企业为员工缴纳公积金的通知
  • 实收资本的账务处理是怎样的
  • 生产企业出口退税的计算方法
  • 个体经营所得税核定征收2023标准
  • 红字发票可以只开金额没有数量吗
  • 企业所得税营业收入是含税还是不含税
  • 劳务公司开票税收分类
  • 广告公司如何经营管理
  • 无营业执照是否可以先办场所码
  • 两免三减半的概率是多少
  • 房租租金收入都缴纳什么税金
  • 公司单独核算项目财务怎么处理?
  • 滞销款的最好销售办法
  • 合同额在3000以下的是否缴纳印花税?
  • 非增值税应税项目有哪些2023
  • 七月一号出台的什么政策
  • 什么叫未完税
  • 如何批量查询发票
  • 购物卡消费后不给开票
  • 合同返点提成犯法吗
  • 环境保护税交给谁
  • 工程储备的材料是存货吗
  • 金融机构在境外
  • 公司原因领不了失业保险要赔偿吗
  • 其他公司垫付货款合法吗
  • 收到投资款怎么做记账凭证
  • 可转债 承销
  • 如何在excel中运算
  • 驾校收入与成本的关系
  • 有进项没销项怎么处理,可以结转成本吗
  • 销售安装费的账务处理
  • php文件注释标记是什么
  • 企业债券利息收入计入什么科目
  • 坏账减值准备账务处理
  • 资产证券化会计信息披露规范
  • 配件买不到
  • 摊销期在一年以内的费用
  • vue引入文件路径@的意思
  • php的两种运行方式
  • 购税盘分录
  • 公司开的餐费专票可以抵扣吗
  • 应收票据和应付票据
  • 商业汇票的承兑银行必须具备下列条件
  • 税务申报显示已申报
  • 普通发票两联都盖章吗
  • ps怎么抠的干净
  • 为什么盈余公积减少,未分配利润增加
  • 将织梦dedecms转换到wordpress
  • 土地评估增值计入什么科目
  • 私募基金成立备案流程
  • 预付账款和应付账款怎么合并
  • 出口退税三类企业影响
  • 哪些增值税可以免税
  • 去年企业所得税多计提怎么调整
  • 残保金中上年在职职工工资总额
  • 财产清查怎么做分录
  • 一般纳税人普通发票要交增值税吗
  • 学校收到学生的礼物
  • 交去年的企业所得税吗
  • 基本户打款个人怎么办
  • 材料采购成本的计算分录
  • sql server怎么创建表语句
  • ubuntu怎么开启root
  • 如何远程重装系统教程
  • mgaqdesk.exe进程有什么作用 mgaqdesk进程查询
  • qqlogin.exe是什么进程 qqlogin.exe应用程序错误解决办法
  • win8.1 ie浏览器
  • win8.1自带usb3.0驱动吗
  • win 7怎么办
  • 如何让卖家给你乖乖退款
  • perl脚本函数
  • jquery.validate提示错误信息位置方法
  • python 设计
  • 理解js绑定事件是什么
  • pythonglobal用法
  • java script教程
  • 收到123660的短信是什么意思
  • 医院能开增值税开发票吗
  • 购置税完税证明在哪里打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设