从北京到上海,echarts地图图表如何轻松展示两地距离与交通?

2026-07-05 0 阅读

在数据分析与可视化领域,ECharts 是一款功能强大的图表库,它可以帮助我们轻松地将数据转化为地图图表。下面,我将详细介绍如何使用 ECharts 地图图表来展示北京到上海的距离与交通情况。

一、准备工作

在开始之前,我们需要准备以下内容:

  1. ECharts 库:确保你的项目中已经引入了 ECharts 库。
  2. 地图数据:从 ECharts 官方网站下载中国地图数据,并解压到项目中。
  3. 交通数据:收集北京到上海的交通数据,如高铁、飞机、汽车等。

二、创建地图图表

1. 初始化图表

首先,我们需要在 HTML 文件中创建一个用于显示地图图表的容器,并为其设置一个 ID。

<div id="mapChart" style="width: 100%; height: 500px;"></div>

2. 引入 ECharts 库

在 HTML 文件中引入 ECharts 库。

<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/echarts.min.js"></script>

3. 初始化 ECharts 实例

在 JavaScript 文件中,初始化 ECharts 实例。

var myChart = echarts.init(document.getElementById('mapChart'));

4. 配置图表选项

接下来,我们需要配置图表的选项,包括地图类型、数据、视觉映射等。

var option = {
    series: [
        {
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                {name: '北京', itemStyle: {color: '#FF6347'}},
                {name: '上海', itemStyle: {color: '#4682B4'}}
            ]
        }
    ]
};

5. 渲染图表

最后,将配置好的选项赋值给 ECharts 实例,并渲染图表。

myChart.setOption(option);

三、展示距离与交通

1. 添加距离标注

为了展示北京到上海的距离,我们可以在地图上添加一个距离标注。

var distance = 1300; // 北京到上海的距离(公里)
var startCoord = [116.46, 39.92]; // 北京的坐标
var endCoord = [121.47, 31.23]; // 上海的坐标

var lineStyle = {
    normal: {
        width: 2,
        opacity: 0.6,
        color: '#f4e925',
        curveness: 0.2
    }
};

var polyline = myChart.graph.add({
    type: 'polyline',
    coordinateSystem: 'geo',
    silent: true,
    shape: {
        coords: [startCoord, endCoord]
    },
    style: lineStyle
});

var distanceText = myChart.addText({
    position: [startCoord[0] + (endCoord[0] - startCoord[0]) / 2, startCoord[1] + (endCoord[1] - startCoord[1]) / 2],
    style: {
        text: distance + 'km',
        fill: '#fff',
        fontSize: 14
    }
});

2. 展示交通数据

为了展示交通数据,我们可以在地图上添加不同类型的交通线路。

// 高铁线路
var highSpeedRailLine = myChart.graph.add({
    type: 'polyline',
    coordinateSystem: 'geo',
    silent: true,
    shape: {
        coords: [startCoord, endCoord]
    },
    style: {
        normal: {
            width: 2,
            opacity: 0.6,
            color: '#ff7f50',
            curveness: 0.2
        }
    }
});

// 飞机航线
var flightLine = myChart.graph.add({
    type: 'polyline',
    coordinateSystem: 'geo',
    silent: true,
    shape: {
        coords: [startCoord, endCoord]
    },
    style: {
        normal: {
            width: 2,
            opacity: 0.6,
            color: '#87cefa',
            curveness: 0.2
        }
    }
});

// 汽车线路
var carLine = myChart.graph.add({
    type: 'polyline',
    coordinateSystem: 'geo',
    silent: true,
    shape: {
        coords: [startCoord, endCoord]
    },
    style: {
        normal: {
            width: 2,
            opacity: 0.6,
            color: '#32cd32',
            curveness: 0.2
        }
    }
});

四、总结

通过以上步骤,我们可以使用 ECharts 地图图表轻松地展示北京到上海的距离与交通情况。在实际应用中,你可以根据需要调整地图样式、数据、交通线路等,以更好地满足你的需求。

分享到: