零基础完成珍爱网项目 Java+MySQL+echarts (ZhenaiSpider+ZhenaiWeb)(五)

全国的单身人士的分布 进行报表分析

首先要导入地图的js包 我放到了 百度网盘上 大家下载下来之后 解压放到assert文件夹下 即可 

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

然后获取数据, 由于全国省份较多 我们可以百度,如图

然后拷贝 到一个新建的txt文件夹下(我在这儿是a.txt) 然后将所有的中文 逗号换成英文的 

然后在这个目录下打开命令行执行native2ascii a.txt b.txt 然后将 b.txt文件里的内容全选 新建 如下图所示的文件夹

然后如图 写入china = 然后将b里的内容拷贝到等号的后面

然后获取数据 将数据导入地图 就大功告成了(是不是有点不可思议呢^_^)

public List<Map<String, Object>> queryChina() {
        List<Map<String, Object>> list = new ArrayList<>();
        // 读取所有的省信息
        Properties prop = new Properties();
        try {
            prop.load(ZhenaiDao.class.getClassLoader().getResourceAsStream("zhenai.properties"));
            String china = prop.getProperty("china");
            String[] privs = china.split(",");
            QueryRunner run = new QueryRunner(ds);
            String sql = "select count(1) from dogs where homeaddr like ?";
            for(String priv:privs) {
                int cnt = run.query(sql, new ScalarHandler<Long>(),priv+"%").intValue();
                Map<String, Object> map = new HashMap<>();
                map.put("name", priv);
                map.put("value", cnt);
                //放到
                list.add(map);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return list;

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css"
    href="<c:url value='/assert/bootstrap/css/bootstrap.css'/>">
<script type="text/javascript"
    src="<c:url value='/assert/jquery-3.2.1.min.js'/>"></script>
<script type="text/javascript"
    src="<c:url value='/assert/echarts.min.js'/>"></script>
<script type="text/javascript"
    src="<c:url value='/assert/bootstrap/js/bootstrap.min.js'/>"></script>
<script type="text/javascript"
    src="<c:url value='/assert/map/js/china.js'/>"></script>
</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-md-12">
                <div class="card">
                    <div class="card-header bg-primary text-white">
                        全国分布图
                    </div>
                    <div class="card-body">
                        <div id="data1" style="height: 600px"></div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
<script type="text/javascript">
    var chart = echarts.init(document.getElementById("data1"));
    //声明数据
    //初始化地图的选项option
    var option = {
        backgroundColor : '#FFFFFF',
        title : {
            text : '全国单身人士分布图',
            subtext : '数据来自珍爱网',
            x : 'center'
        },
        tooltip : {
            trigger : 'item'
        },
        visualMap : { //用于指定分割值
            show : true,
            x : 'left',
            y : 'top',
            splitList : [ {
                start : 701,
                end : 5999
            }, {
                start : 601,
                end : 701
            }, {
                start : 301,
                end : 600
            }, {
                start : 101,
                end : 300
            }, {
                start : 0,
                end : 100
            }],
            color : [ '#DC143C', '#DA70D6', '#6495ED', '#00FF7F', '#33CC00' ]
        //这儿用于指定颜色
        },
        series : [ {
            name : '单身人士',
            type : 'map',//使用地址,显示的结果是地图
            mapType : 'china', //如果是其他省请引用不同的省js文件,然后输入:山东
            roam : true,
            data :[],
            label : {
                show : true,
                formatter : function(data) {
                    return data.value + "人";
                }
            }
        } ]
    };
    chart.setOption(option);

    
            $.get("<c:url value='/china'/>").done(function(dd){
                var ds = eval("("+dd+")");
                var option = {
                        series : [{
                            data:ds
                        }]
                };
                chart.setOption(option);
            });

</script>
</html>

效果如图示

这样呢我们的项目就大功告成了,我也会将整个项目打包供大家下载参考,关于优化spider的项目代码我也会打包供大家参考

链接:https://pan.baidu.com/s/1qFzq7Qa_MEbXbhLHBRokMQ 密码:7efk  (zhenaiweb)

链接:https://pan.baidu.com/s/1Ty7m8aV5BArukppMEuIyYg 密码:vysq   (zhenaispider  未优化)

已优化的 在我的在我的下载资源里有 大家可以去下载参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值