【基于Echarts的地图可视化】

html 复制代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>中国牛只分布可视化</title>
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.4.3/dist/echarts.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
</head>
<body>
    <div id="map" style="width: 100%;height:600px;"></div>
    <script>
        // 异步加载地图数据
        $.get('https://geo.datav.aliyun.com/areas_v3/bound/100000_full.json', function(chinaJson) {
            var chart = echarts.init(document.getElementById('map'));
            echarts.registerMap('china', chinaJson);
            
            // 牛只分布数据
            var cattleData = [
                {name: '内蒙古', value: [111.76, 40.82, 280]},
                {name: '新疆', value: [87.62, 43.82, 190]},
                {name: '黑龙江', value: [126.53, 45.80, 150]},
                {name: '四川', value: [104.06, 30.67, 120]},
                {name: '云南', value: [102.73, 25.04, 90]}
            ];
            
            var option = {
                title: {
                    text: '中国主要牧区牛只分布',
                    subtext: '数据更新时间:2025-06-29',
                    left: 'center'
                },
                tooltip: {
                    trigger: 'item',
                    formatter: function(params) {
                        if(params.seriesType === 'scatter') {
                            return params.name + '<br/>存栏量: ' + params.value[2] + '万头';
                        }
                        return params.name;
                    }
                },
                visualMap: {
                    min: 0,
                    max: 300,
                    text: ['高', '低'],
                    realtime: false,
                    calculable: true,
                    inRange: {
                        color: ['#1e90ff', '#ff4500']
                    }
                },
                geo: {
                    map: 'china',
                    roam: true,
                    label: {
                        show: true,
                        color: '#333',
                        fontSize: 10
                    },
                    emphasis: {
                        label: {
                            color: '#fff'
                        },
                        itemStyle: {
                            areaColor: '#389af4'
                        }
                    },
                    itemStyle: {
                        areaColor: '#e6f7ff',
                        borderColor: '#aaa'
                    }
                },
                series: [{
                    name: '牛只数量',
                    type: 'scatter',
                    coordinateSystem: 'geo',
                    symbolSize: function(val) {
                        return Math.sqrt(val[2]) * 3;
                    },
                    data: cattleData,
                    encode: {
                        value: 2
                    },
                    label: {
                        formatter: '{b}',
                        position: 'right',
                        show: true
                    },
                    itemStyle: {
                        color: '#d63031'
                    }
                }]
            };
            
            chart.setOption(option);
            window.addEventListener('resize', chart.resize);
        });
    </script>
</body>
</html>
相关推荐
多秋浮沉度华年17 小时前
electron 初始使用记录
javascript·arcgis·electron
yzk_20172 天前
OpenClaw 完整部署指南:安装 + 三大 Coding Plan 配置 + CC Switch + 飞书机器人
arcgis·机器人·飞书
无心使然云中漫步2 天前
Openlayers调用ArcGis地图服务之五 —— 要素识别(/identify)
前端·arcgis·vue·数据可视化
非科班Java出身GISer2 天前
ArcGIS Maps SDK for JavaScript 5.0 组件化开发指南
javascript·arcgis·components·arcgis js 组件化·arcgis js5.0·arcgis js5.0初始化
Gene_20223 天前
ubuntu22.04安装Claude Code及其在vscode跑通
ide·vscode·arcgis
GIS地信小匠4 天前
(34)ArcGIS Pro 要素折点转点工具:线面节点批量提取实操
arcgis·空间分析·数据处理·gis教程·arcgls pro
蜂蜜狮子头4 天前
arcgis计算几何周长、面积被禁用
arcgis
非科班Java出身GISer4 天前
ArcGIS JS 基础教程(5):地图限制缩放级别和显示范围
arcgis·arcgis js限制范围·arcgis js 限制·arcgis js地图限制·arcgis js 范围
无心使然云中漫步5 天前
Openlayers调用ArcGis地图服务之一 —— 地图切片(/tile)
前端·arcgis·vue·数据可视化
无心使然云中漫步6 天前
Openlayers调用ArcGis地图服务之三 —— 要素查询(/query)
前端·arcgis·vue·数据可视化