网站首页> 文章专栏> Echarts疫情地图+Mybatisplus动态数据源
Echarts疫情地图+Mybatisplus动态数据源
路人王 天津 234 0 0

1.引入相关依赖

        <!--mybatisplus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>${mybatisplus.version}</version>
        </dependency>
 		<!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

2.我们以查询省份疫情数据,数量为例做一个echarts疫情数据填充

NameNumber.java

@Data
@AllArgsConstructor
@NoArgsConstructor
public class NameNumber {

    @JsonProperty("value") //echarts 要求返回的名称,要不封装不上数据
    private int number;

    @JsonProperty("name") //echarts 要求返回的名称,要不封装不上数据
    private String goodsname;
}

3.PieVo.java 用来返回json数据的实体,里面装着List

@Data
@NoArgsConstructor
@AllArgsConstructor
public class PieVo {
    private List<NameNumber> nameNumberList;
}

4.EchartsController.java

@RestController
@RequestMapping("/echarts")
public class EchartsController {

    @Autowired
    PieMapper pieMapper;

    @RequestMapping("/pie")
    public PieVo loadAll(){
        PieVo pieVo = new PieVo();
       List<NameNumber> pieVoList =  pieMapper.findNameNumber();
       pieVo.setNameNumberList(pieVoList);
       return pieVo;
    }
}

5.PieMapper.java

@Mapper
public interface PieMapper {
	
    @Select("select goodsname,number from bus_goods")
    public List<NameNumber> findNameNumber();
}

6.echarts中国疫情地图页面

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" th:src="@{/echarts/jquery.min.js}"></script>
    <script type="text/javascript" th:src="@{/echarts/echarts.js}"></script>
    <script type="text/javascript" th:src="@{/echarts/china.js}"></script>
</head>
<body>


<div id="main" style="height: 500px;width:1000px;text-align: center"></div>

<script type="text/javascript">

    $.ajax({ //你需要写这些请求  异步请求数据
        type: "GET",
        url: "/echarts/pie",
        dataType: 'json',
        success: function (data) {
            //地图开始
            var optionMap = {
                backgroundColor: '#FFFFFF',
                title: {
                    text: '全国地图大数据',
                    subtext: '',
                    x: 'center'
                },
                tooltip: {
                    trigger: 'item'
                },

                //左侧小导航图标
                visualMap: {
                    show: true,
                    x: 'left',
                    y: 'center',
                    splitList: [
                        {start: 500, end: 600}, {start: 400, end: 500},
                        {start: 300, end: 400}, {start: 200, end: 300},
                        {start: 100, end: 200}, {start: 0, end: 100},
                    ],
                    color: ['#5475f5', '#9feaa5', '#85daef', '#74e2ca', '#e6ac53', '#9fb5ea']
                },

                //配置属性
                series: [{
                    name: '数据',
                    type: 'map',
                    mapType: 'china',
                    roam: true,
                    label: {
                        normal: {
                            show: true  //省份名称
                        },
                        emphasis: {
                            show: true
                        }
                    },
                    data: data.nameNumberList  //省份数据
                }]

            };

            //初始化echarts实例
            var myChart = echarts.init(document.getElementById('main'));
            myChart.on('click', function (params) {
                window.alert('这是:' + (params.name));
                // $.get("url","data",function (data) {
                // 	alert(data);
                // },"type");
            });
            //使用制定的配置项和数据显示图表
            myChart.setOption(optionMap);
            //自适应大小
            window.addEventListener("resize", function () {
                myChart.resize();
            })
        }
    });
</script>

</body>
</html>

评论

评论  分享  打赏