Echarts实现省级到市级地图下钻

在echarts社区里copy项目时,有符合需求的地图但是没有地图下钻,没办法看了看有地图下钻的项目想了一个比较简单的思路。
(这里不再赘述如何创建基本地图实例)
1.首先把对应城市的下级地区geoJson下载到本地。
这里给大家一个下载连接↓
https://www.makeapie.com/editor.html?c=xmCAi_XNuJ

这个思路主要是对查询的geoJson文件名进行改变,并不会影响地图下钻的动画效果,还是很流畅的。
uploadDataURL是地图查询用到的json地址,本思路就是改变uploadedDataURL的值。

    var uploadedDataURL = "json/nmg.geoJson"

2.在myCharts.on(myCharts也可能是echarts,取决于你到导入echarts时声明的变量名)上绑定click点击事件,params为获取到的城市数据,params.name则是params数据中的城市名,可以console.log打印一下params详细了解获取到的数据。这里用语法糖代替了switch或if else。

    myChart.on('click', function (params) {
        let map = {
            '呼和浩特市':'json/hohot.geoJson',
            '包头市':'json/baotou.geoJson',
            '巴彦淖尔市':'json/bayannaoer.geoJson',
            '赤峰市':'json/chifeng.geoJson',
            '鄂尔多斯市':'json/eerduosi.geoJson',
            '呼伦贝尔市':'json/hulunbeier.geoJson',
            '通辽市':'json/tongliao.geoJson',
            '乌海市':'json/wuhai.geoJson',
            '乌兰察布市':'json/wulanchabu.geoJson',
            '锡林郭勒盟':'json/xilinguole.geoJson',
            '兴安盟':'json/xinganmeng.geoJson',
            '阿拉善盟':'json/alashan.geoJson',
        }
        uploadedDataURL = map[params.name]
        getResult();
    });

最后getResult()-(你的渲染方法)重新渲染页面。
*ps:如果有每次点击方法运行次数都会增多的情况,将myCharts.on方法拿出来(比如不要放在getResult()里面)进行解耦。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
echarts实现地图的过程可以分为以下几个步骤: 1. 初始化地图:使用`initEcharts`函数来初始化地图,传入地图的名称作为参数。该函数会设置地图的一些基本属性,如缩放范围、标签样式等。 2. 渲染省级地图:通过`showProvince`函数来展示对应的省级地图。该函数会根据传入的省份名称,获取对应的地图数据,并使用`registerMap`方法注册地图数据。然后调用`initEcharts`函数来初始化地图。 3. 渲染市级地图:通过`showCitys`函数来展示对应的市级地图。该函数会根据传入的城市名称,获取对应的地图数据,并使用`registerMap`方法注册地图数据。然后调用`initEcharts`函数来初始化地图。 4. 设置地图样式:在`initEcharts`函数中,可以设置地图的样式,如边框颜色、高亮颜色等。可以通过修改`itemStyle`属性来实现。 5. 导入地图插件:在父组件中,可以通过导入地图插件来使用echarts实现地图功能。可以使用`import`语句导入地图插件。 总结起来,echarts实现地图的过程包括初始化地图、渲染省级地图、渲染市级地图、设置地图样式和导入地图插件等步骤。 #### 引用[.reference_title] - *1* *2* [ECharts 实现地图功能](https://blog.csdn.net/weixin_48163734/article/details/121947881)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [echarts实现地图](https://blog.csdn.net/weixin_43407815/article/details/110119947)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

01_Carrortwhisker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值