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

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

  • 华为手机怎么连接电脑传文件(华为手机怎么连接华为手表)

    华为手机怎么连接电脑传文件(华为手机怎么连接华为手表)

  • 华为手机荣耀8x外形尺寸(华为手机荣耀8X通常用多少年)

    华为手机荣耀8x外形尺寸(华为手机荣耀8X通常用多少年)

  • 联想笔记本控制面板在哪里打开(联想笔记本控制台是哪个键)

    联想笔记本控制面板在哪里打开(联想笔记本控制台是哪个键)

  • n机是什么意思(xbox被ban机是什么意思)

    n机是什么意思(xbox被ban机是什么意思)

  • 苹果能不能微信支付(苹果能不能微信视频时候录屏)

    苹果能不能微信支付(苹果能不能微信视频时候录屏)

  • 转转怎么没有附近功能了(转转附近的东西搜不到)

    转转怎么没有附近功能了(转转附近的东西搜不到)

  • 可以让siri帮忙关机吗(可以让siri帮忙报警吗)

    可以让siri帮忙关机吗(可以让siri帮忙报警吗)

  • 分区助手扩大c盘后无法开机(分区助手扩大c盘会丢失数据吗)

    分区助手扩大c盘后无法开机(分区助手扩大c盘会丢失数据吗)

  • 三相是哪三相(三相是哪三相化学)

    三相是哪三相(三相是哪三相化学)

  • 抖音视频限制分享是啥意思(抖音1到5分钟视频权限)

    抖音视频限制分享是啥意思(抖音1到5分钟视频权限)

  • 苹果11的屏幕刷新率是多少(苹果11的屏幕刷新是多少)

    苹果11的屏幕刷新率是多少(苹果11的屏幕刷新是多少)

  • 栏间距怎么设置42磅(word文档栏间距怎么设置)

    栏间距怎么设置42磅(word文档栏间距怎么设置)

  • 苹果六与苹果七有什么不同(苹果六与苹果七哪个好)

    苹果六与苹果七有什么不同(苹果六与苹果七哪个好)

  • 刚买的电脑充电充多久(刚买的电脑充电时摸感到震动)

    刚买的电脑充电充多久(刚买的电脑充电时摸感到震动)

  • 怎么关掉剪映的水印(怎么关掉剪映的自动续费)

    怎么关掉剪映的水印(怎么关掉剪映的自动续费)

  • 华为畅享10plus可以双击点亮屏幕吗(华为畅享10plus可以用电信卡吗)

    华为畅享10plus可以双击点亮屏幕吗(华为畅享10plus可以用电信卡吗)

  • 荣耀手环4上市日期(荣耀手环4发布)

    荣耀手环4上市日期(荣耀手环4发布)

  • 苹果x可以无线反向充电吗(苹果x可以无线快充吗)

    苹果x可以无线反向充电吗(苹果x可以无线快充吗)

  • 小米9支持nfc吗(小米9支持nfc功能吗)

    小米9支持nfc吗(小米9支持nfc功能吗)

  • 抖音免流设置在哪里(抖音免流设置在哪里联通)

    抖音免流设置在哪里(抖音免流设置在哪里联通)

  • 抖音直播游戏怎么弄(抖音直播游戏怎么直播)

    抖音直播游戏怎么弄(抖音直播游戏怎么直播)

  • iphonex进水试纸在哪看(xr进水试纸在哪里)

    iphonex进水试纸在哪看(xr进水试纸在哪里)

  • vivox27和荣耀v20对比分析(vivox27和荣耀10哪个好)

    vivox27和荣耀v20对比分析(vivox27和荣耀10哪个好)

  • CAD填充怎么用(cad填充怎么用user自定义)

    CAD填充怎么用(cad填充怎么用user自定义)

  • 电脑一开机一会就会死机、蓝屏(电脑一开机一会一会黑屏)

    电脑一开机一会就会死机、蓝屏(电脑一开机一会一会黑屏)

  • 季度内超过30万红冲后用不用缴税?
  • 计提无形资产摊销额计入什么科目
  • 个人转让房产两年内全额计税是什么意思
  • 劳务报酬收入是否含税
  • 利润表里的所得税怎么算
  • 电子设备残值率的最新规定
  • 审核通过的红字发票信息表可以撤销吗
  • 公司给离职员工多发工资怎么办
  • 公司为员工购买社保证明
  • 增值税税金不足1元未缴纳账务处理
  • 企业发生的技术转让费应计入
  • 职工教育经费税法
  • 股息红利所得如何缴纳个人所得税
  • 应收款抹零计入什么会计科目
  • 预付账款转入其他非流动资产
  • 工程施工的保障措施
  • 电子缴税付款凭证
  • 个人终止投资经营怎么办
  • 没签合同怎么交社保
  • 对外销售白酒如何纳税
  • 北京增值税纳税申报表在哪里打印
  • 月工资3000元,工伤7级能赔偿多少钱
  • 购买理财产品会损失本金吗
  • 员工垫付差旅费 民间借贷
  • 自建自用建筑物,其自建行为不是建筑业税目的征税范围
  • 小规模农产品可以抵扣吗
  • 收到对方公司的货款怎么记账
  • 个税手续费返还属于政府补助吗
  • 应收账款平均余额怎么理解
  • 预提费用利息会增加吗
  • 融资租赁税费计算
  • 在win10系统中如何找到应用
  • 长期待摊费用摊销会计分录
  • win11安卓子系统在哪打开
  • 多缴纳税款
  • 浅谈php技术
  • 场外期权会计核算
  • 最贵的十张照片
  • 新准则下的现金流量包括
  • php如何连接sql server
  • 命令m文件
  • 如何进行合理的库存管理
  • 物流公司进项包括什么
  • 结转成本计入
  • 公帐的钱可以转到其他人帐户吗
  • 个体工商户免费开票额度
  • 企业固定资产没有加速折旧还填资产加速折旧表吗
  • 长期待摊费用包含的内容
  • 长期借款的账务处理会计分录
  • 对公账户可以转让吗
  • 开了红字发票申请还要做进项税转出吗?
  • 免税店为什么没有发票
  • 当前旅游业
  • 目前用到的两个字符
  • window如何还原系统
  • win10使用期限
  • 怎么处理鲍鱼
  • centos重新安装命令
  • window 80端口被占用
  • win10正式版激活码
  • jquery插件怎么用到自己的网站
  • jquery data-
  • jquery生成div
  • nginx优雅退出
  • linux ls-l命令详解
  • python对excel操作真的有提高吗
  • shell脚本实例精讲
  • 查cpu内存命令
  • 举例讲解水生花卉栽培管理
  • android打开相机
  • android 引用第三方库
  • js 表格
  • 个人去税务局开劳务费怎么开
  • 不配合税务检查的法律责任
  • 留抵税额如何抵扣
  • 昆明地税局长是谁
  • 地税登记证和税务登记证是一样的吗
  • 广东2020医保缴费要多少
  • 关于税制的问题
  • 电费增值税专用发票如何抵税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设