从北京到纽约,echarts地图图表轻松展示全球距离,跟着案例学绘图技巧

2026-11-02 0 阅读

ECharts是一个使用JavaScript实现的开源可视化库,它能够帮助开发者轻松地在网页上创建交互式的图表。在ECharts中,地图图表是一个非常实用的功能,可以用来展示地理位置信息、距离、人口分布等。本文将通过一个从北京到纽约的案例,教你如何使用ECharts制作全球地图图表,并展示两地之间的距离。

选择合适的地图数据

首先,我们需要为ECharts提供地图数据。ECharts提供了丰富的地图数据,包括世界地图、中国地图、省市区地图等。对于展示全球距离的案例,我们可以选择世界地图。

在ECharts的官网(https://echarts.apache.org/)上,我们可以找到世界地图的数据文件。下载后,将其放置在项目的合适位置。

初始化ECharts实例

在HTML文件中,我们需要初始化一个ECharts实例。以下是一个简单的初始化代码示例:

<!DOCTYPE html>
<html style="height: 100%">
<head>
    <meta charset="utf-8">
</head>
<body style="height: 100%; margin: 0">
    <div id="container" style="height: 100%"></div>

    <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.0.0/echarts.min.js"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.0.0/map/js/world.js"></script>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('container'));
    </script>
</body>
</html>

在这个示例中,我们引入了ECharts的核心库和世界地图的数据文件。同时,初始化了一个名为myChart的ECharts实例。

配置ECharts地图图表

接下来,我们需要为ECharts实例配置地图图表。以下是一个简单的配置示例:

var option = {
    title: {
        text: '北京到纽约的距离'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '全球',
            type: 'map',
            mapType: 'world',
            roam: true,
            label: {
                show: false
            },
            data: [
                {
                    name: 'China',
                    itemStyle: {
                        areaColor: '#323c48',
                        borderColor: '#111'
                    }
                },
                {
                    name: 'United States',
                    itemStyle: {
                        areaColor: '#323c48',
                        borderColor: '#111'
                    }
                }
            ],
            emphasis: {
                label: {
                    show: true
                }
            },
            animation: true
        }
    ]
};

myChart.setOption(option);

在这个示例中,我们定义了一个名为option的配置对象。在option中,我们设置了图表的标题、提示框、系列等。其中,series数组中的第一个元素是一个地图系列,它包含了地图类型、地图类型名称、是否允许缩放、标签显示、数据等属性。

展示两地之间的距离

为了展示北京到纽约的距离,我们需要在地图上添加两个标记点,并使用直线连接它们。以下是一个添加标记点的示例:

var beijing = {
    name: 'Beijing',
    value: [116.405285, 39.904989]
};

var newyork = {
    name: 'New York',
    value: [-74.005974, 40.712776]
};

var lines = [
    {
        coords: [beijing.value, newyork.value],
        symbol: 'none',
        lineStyle: {
            normal: {
                width: 2,
                color: '#f00'
            }
        }
    }
];

option.series[0].data.push(beijing, newyork);
option.series.push({
    name: 'line',
    type: 'lines',
    coordinateSystem: 'geo',
    zlevel: 1,
    effect: {
        show: true,
        period: 6,
        trailLength: 0.7,
        color: '#fff',
        symbolSize: 3
    },
    lineStyle: {
        normal: {
            color: '#f00',
            width: 1,
            opacity: 0.6,
            curveness: 0.2
        }
    },
    data: lines
});

myChart.setOption(option);

在这个示例中,我们定义了两个标记点beijing和newyork,并使用option.series[0].data.push(beijing, newyork);将其添加到地图数据中。然后,我们定义了一个lines数组,用于存储连接两个标记点的直线数据。最后,我们将这个直线数据添加到地图系列中。

总结

通过以上步骤,我们已经成功使用ECharts制作了一个展示北京到纽约距离的全球地图图表。这个案例展示了ECharts地图图表的强大功能,可以帮助开发者轻松地展示地理位置信息、距离等。在实际应用中,我们可以根据需求调整地图数据、标记点、连接线等,制作出更多具有创意的地图图表。

分享到: