JS + Echarts实现中国地图 China.js

China.js文件现在已经下载不到了 China.js文件已经放到末尾了  China.json以及各个省市json可以私   

效果图:

1.创建容器  

我在CSS里给过了宽高 所以没写  复制的时候一定要加宽高!

<div class="map" id="map"></div>

2.引入China.js 和 Echarts

这里Echarts用的CDN 5.3.2版本

<script crossorigin="anonymous" integrity="sha512-weWXHm0Ws2cZKjjwugRMnnOAx9uCP/wUVf84W7/fXQimwYUK28zPDGPprDozomQLpKv6U99xN9PI9+yLI9qxNw==" src="https://lib.baomitu.com/echarts/5.3.2/echarts.min.js"></script>
<script src="../js/china.js"></script>

3. 实例化代码

data_list是数据  瞎写的 建议折叠一下

   (function () {
        const data_list = [{
            name: '江苏',
            value: 0
        }, {
            name: '安徽',
            value: 1
        }, {
            name: '湖北',
            value: 1
        }, {
            name: '湖南',
            value: 0
        }, {
            name: '广东',
            value: 1
        }, {
            name: '浙江',
            value: 1
        }, {
            name: '福建',
            value: 1
        }, {
            name: '山东',
            value: 1
        }, {
            name: '河南',
            value: 4
        }, {
            name: '四川',
            value: 0
        }, {
            name: '河北',
            value: 0
        }, {
            name: '江西',
            value: 0
        }, {
            name: '黑龙江',
            value: 1
        }, {
            name: '陕西',
            value: 0
        }, {
            name: '贵州',
            value: 0
        }, {
            name: '吉林',
            value: 0
        }, {
            name: '广西',
            value: 1
        }, {
            name: '山西',
            value: 0
        }, {
            name: '云南',
            value: 0
        }, {
            name: '辽宁',
            value: 0
        }, {
            name: '甘肃',
            value: 0
        }, {
            name: '重庆',
            value: 0
        }, {
            name: '内蒙古',
            value: 0
        }, {
            name: '海南',
            value: 0
        }, {
            name: '天津',
            value: 0
        }, {
            name: '新疆',
            value: 0
        }, {
            name: '上海',
            value: 2
        }, {
            name: '宁夏',
            value: 0
        }, {
            name: '青海',
            value: 0
        }, {
            name: '北京',
            value: 0
        }, {
            name: '西藏',
            value: 0
        }]
        let new_data_list = data_list.map((item, index) => {
            return item.value
        })
        let data_list_max = Math.max(...new_data_list);
        var map_Chart = echarts.init(document.getElementById('map'));
        option = {
            title: {
                text: '本群闸总鼠窝分布',
                x: 'center'
            },
            tooltip: {
                trigger: 'item',
                formatter: (params) => {
                    let num
                    let showHtml = ''
                    if (isNaN(params.value)) {
                        num = '0'
                    } else {
                        num = params.value
                    }
                    showHtml += `
                        <span style="display: flex;">
                            ${'省份'}:${params.name}</br>
                            ${'鼠窝'}:${num}
                        </span>
                    `
                    return showHtml

                }
            },

            dataRange: {
                x: 'left',
                y: 'bottom',
                min: 0,
                max: data_list_max,
                text: ['高', '低'], // 文本,默认为数值文本
                calculable: true,
                inRange: {
                    color: ['#d1e7fe', '#1989fa'],

                }
            },
            series: [{
                name: '数据',
                type: 'map',
                mapType: 'china',
                roam: false,
                selectedMode: false,
                itemStyle: {
                    normal: {
                        label: {
                            show: true,
                            textStyle: {
                                color: 'black'
                            }
                        }
                    },
                    emphasis: {
                        areaColor: '#95ec69',
                        label: {
                            show: true

                        }
                    }
                },
                data: data_list
            }]
        };

        map_Chart.setOption(option)
    })();

China.js下载地址: china.js

提取码:49kh

如果出现乱码情况 不用担心 正常引入使用即可

首先,使用高德地图 API 获取地图,并添加 marker。点击 marker 后,获取该地点的经纬度,然后调用 echarts 的 geo 组件,绘制迁徙图。 以下是一个简单的示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>高德地图+echarts迁徙图</title> <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=你的高德地图APIkey"></script> <script type="text/javascript" src="https://cdn.bootcdn.net/ajax/libs/echarts/4.9.0/echarts.min.js"></script> <style> #map { width: 100%; height: 500px; } </style> </head> <body> <div id="map"></div> <script type="text/javascript"> // 初始化地图 var map = new AMap.Map('map', { center: [116.397428, 39.90923], zoom: 10 }); // 添加 marker,并绑定点击事件 var marker = new AMap.Marker({ position: [116.397428, 39.90923], map: map, title: '北京市', clickable: true }); marker.on('click', function() { // 获取经纬度 var lnglat = marker.getPosition(); // 绘制迁徙图 var myChart = echarts.init(document.getElementById('map')); myChart.setOption({ geo: { map: 'china' }, series: [{ type: 'lines', coordinateSystem: 'geo', polyline: { // 迁徙线的坐标点 coords: [ [lnglat.lng, lnglat.lat], [120.15, 30.28] ] } }] }); }); </script> </body> </html> ``` 上面的示例代码中,我们使用了 AMap.Marker 类来添加 marker,并通过 marker.on('click') 绑定了点击事件。在点击事件中,我们获取了 marker 的经纬度,然后调用 echarts 绘制迁徙图。 当然,以上只是一个简单的示例,实际应用中还需要根据需求进行一些调整和优化。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值