如何用eachart来做一个全国地图撒点的效果

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=EDGE">
    <title>ECharts</title>
    <!--<link rel="stylesheet" type="text/css" href="css/main.css"/>-->
    <script src="js/jquery.min.js"></script>
    <script src="js/echarts.min.js"></script>
    <script src="js/map/js/china.js"></script>
    <style>
    #china-map {
        width:1000px;
        height: 600px;
        margin: auto;
        background: pink;
    }
</style>
</head>
<body>
<div id="china-map"></div>
<script>
    var myChart = echarts.init(document.getElementById('china-map'));
    function randomData() {
    return Math.round(Math.random()*1000);
}

option = {
    title: {
        text: 'iphone销量',
        subtext: '纯属虚构',
        left: 'center'
    },
    tooltip: {
        trigger: 'item'
    },
    legend: {
        orient: 'vertical',
        left: 'left',
        data:['iphone3','iphone4','iphone5']
    },
    visualMap: {
        min: 0,
        max: 2500,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    toolbox: {
        show: true,
        orient: 'vertical',
        left: 'right',
        top: 'center',
        feature: {
            dataView: {readOnly: false},
            restore: {},
            saveAsImage: {}
        }
    },
    series: [
        {
            name: 'iphone3',
            type: 'map',
            mapType: 'china',
            roam: false,
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data:[
                {name: '北京',value: randomData() },
                {name: '天津',value: randomData() },
                {name: '上海',value: randomData() },
                {name: '重庆',value: randomData() },
                {name: '河北',value: randomData() },
                {name: '河南',value: randomData() },
                {name: '云南',value: randomData() },
                {name: '辽宁',value: randomData() },
                {name: '黑龙江',value: randomData() },
                {name: '湖南',value: randomData() },
                {name: '安徽',value: randomData() },
                {name: '山东',value: randomData() },
                {name: '新疆',value: randomData() },
                {name: '江苏',value: randomData() },
                {name: '浙江',value: randomData() },
                {name: '江西',value: randomData() },
                {name: '湖北',value: randomData() },
                {name: '广西',value: randomData() },
                {name: '甘肃',value: randomData() },
                {name: '山西',value: randomData() },
                {name: '内蒙古',value: randomData() },
                {name: '陕西',value: randomData() },
                {name: '吉林',value: randomData() },
                {name: '福建',value: randomData() },
                {name: '贵州',value: randomData() },
                {name: '广东',value: randomData() },
                {name: '青海',value: randomData() },
                {name: '西藏',value: randomData() },
                {name: '四川',value: randomData() },
                {name: '宁夏',value: randomData() },
                {name: '海南',value: randomData() },
                {name: '台湾',value: randomData() },
                {name: '香港',value: randomData() },
                {name: '澳门',value: randomData() }
            ]
        },
        {
            name: 'iphone4',
            type: 'map',
            mapType: 'china',
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data:[
                {name: '北京',value: randomData() },
                {name: '天津',value: randomData() },
                {name: '上海',value: randomData() },
                {name: '重庆',value: randomData() },
                {name: '河北',value: randomData() },
                {name: '安徽',value: randomData() },
                {name: '新疆',value: randomData() },
                {name: '浙江',value: randomData() },
                {name: '江西',value: randomData() },
                {name: '山西',value: randomData() },
                {name: '内蒙古',value: randomData() },
                {name: '吉林',value: randomData() },
                {name: '福建',value: randomData() },
                {name: '广东',value: randomData() },
                {name: '西藏',value: randomData() },
                {name: '四川',value: randomData() },
                {name: '宁夏',value: randomData() },
                {name: '香港',value: randomData() },
                {name: '澳门',value: randomData() }
            ]
        },
        {
            name: 'iphone5',
            type: 'map',
            mapType: 'china',
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data:[
                {name: '北京',value: randomData() },
                {name: '天津',value: randomData() },
                {name: '上海',value: randomData() },
                {name: '广东',value: randomData() },
                {name: '台湾',value: randomData() },
                {name: '香港',value: randomData() },
                {name: '澳门',value: randomData() }
            ]
        }
    ]
};
    myChart.setOption(option);
   
</script>
</body>
</html>

这里的话要注意里面要引入3个文件,一个echarts.js文件,一个jquery的,一个china.js文件,下面我把china.js的放在我百度网盘了,需要可以下载

https://pan.baidu.com/s/1N2_qy9tjzOdzRSVoLkHUvQ

密码:5iok

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ECharts中,绘制地图并添加标记(撒点)通常涉及到地理坐标系和数据绑定。以下是一般的步骤: 1. **引入地图组件**: 首先,你需要在ECharts库中引入`echarts-gl`模块,因为ECharts本身不直接支持地图,但`echarts-gl`提供了地图相关的功能。 ```javascript import * as echarts from 'echarts'; import 'echarts-gl'; ``` 2. **加载地图数据**: 获取地图的基础数据,这可能来自于ECharts的数据集或者第三方地图API。例如,你可以从ECharts内置的地图数据或者`world`地理编码数据中选择中国地图。 ```javascript const worldGeoCoordMap = echarts.mapData('world'); ``` 3. **创建图表实例**: 创建一个新的ECharts实例,并设置渲染区域。 ```javascript const chart = echarts.init(document.getElementById('main')); ``` 4. **配置地图系列**: 在`chart`上配置一个GL类型的地理图,并指定地图数据和视觉样式(如颜色、大小等)。在这里添加`points`属性用于标记位置。 ```javascript chart.setOption({ series: [{ type: 'scatter', coordinateSystem: 'geo', data: [ // 这里是一个包含经纬度和标记信息的对象数组 { name: '北京', coord: [116.404, 39.9] }, { name: '上海', coord: [121.4737, 31.2304] } ], symbol: 'circle', // 地图标记类型 size: 10, // 标记大小 itemStyle: { color: '#FF0000' // 标记颜色 } }], visualMap: { pieces: [{ max: 150, show: true, label: { normal: { show: false } }, piecewise: [{ value: 100, color: 'blue' }, { value: 150, color: 'red' }] }] }, geo: { roam: true, // 是否自动平滑缩放 selectedMode: 'multiple', // 多选模式 // 更具体的地图配置,如projection: 'mercator' 或者分块数据 } }); ``` 5. **显示和更新图表**: 最后,调用`setOption`方法将配置应用到图表上,然后调用`chart.show()`显示图表。 相关问题--: 1. 如何根据用户输入动态添加地图标记? 2. ECharts如何处理地图标记的击事件? 3. 如何调整地图标记的样式或动画效果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

浩星

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

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

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

打赏作者

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

抵扣说明:

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

余额充值