• 石家庄地铁查询系统(双人项目)(续)


    合作人:张思远

    1、石家庄地铁规划图

    本系统是基于以上的石家庄地铁规划图来实现的。

    2、功能设计

    (一)数据库设计

      数据库中只有一个数据表。

      数据表结构为{lineid, stationname, tinformation, ordnum}

      数据表结构的含义为(线路号,站点名,换乘信息,站点在自己线路上的顺序),其中换乘信息记录的是该站点所在的另一条线路。

      

      

    (二)站点查询

      用户可通过输入起始站和终点站来查询线路信息,查询到的线路信息包括:换乘最少的线路、站点最少的线路,线路信息由文本域显示。

      

    (三)地图显示

      我们组和陈欢、王嘉梁他们组,以上面的石家庄地铁规划图为标准,一起做了svg图。

      通过js代码可控制地图的放大、缩小、拖拽。

      

     3、相关代码

      (一)前端页面

       

        1)

        主页面为main.jsp,其为一个框架,分为三部分:head、index_in、foot。

        head:head.jsp,为页眉。

        index_in:index_in.jsp,其为一个小框架,分为两部分:search、map。

          search:search.jsp,用于搜索线路和显示线路。

          map:map.jsp,用于显示地图。

        foot:foot.jsp,为页脚。

        2)代码

        main.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    
    <style type="text/css">
    
    .headframe{
        width:100%;
        height:150px;
        border:0;
    }
    
    .mainframe{
        width:100%;
        height:500px;
        border:0;
    }
    
    .footframe{
        width:100%;
        height:60px;
        border:0;    
    }
    
    </style>
    
    </head>
    <body>
    
    <iframe src="head.jsp" class="headframe" scrolling="no"></iframe>
    <iframe src="index_in.jsp" class="mainframe" scrolling="no" name="mainAction"></iframe>
    <iframe src="foot.jsp" class="footframe" scrolling="no"></iframe>
    
    </body>
    </html>
    main.jsp

        head.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
    
    #head{
        background-color:#3F51B5;
        width:100%; 
        height:150px;
    }
    
    #head P{
        font-family:YouYuan;
        font-size:25px;
        color:#E8EAF6;
        position:absolute;
        left:60px;
        top:20px;
    }
    
    #head span{
        family:YouYuan;
        size:20px;
        color:#E8EAF6;
        position:absolute;
        left:60px;
        top:70px;
    }
    
    #head-in{
        background-color:#737DB5;
        height:30px;
        width:99%;
        position:absolute;
        top:120px;
    }
    </style>
    </head>
    <body>
    
    <div id="head">
        <p>石家庄地铁</p>
        <span>SHIJIAZHUANG SUBWAY</span>
        <div id="head-in">
        </div>
    </div>
    
    </body>
    </html>
    head.jsp

        index_in.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
    
    .searchframe{
        width:300px; 
        height:500px;
        border:0;
    }
    
    .mapframe{
        width:1110px;
        height:500px;
        position:relative;
        left:5px;
        border:0;
    }
    
    </style>
    </head>
    <body>
    
    <iframe src="beginsearch.jsp" class="searchframe" scrolling="no"></iframe>
    <iframe src="map.jsp" class="mapframe" scrolling="no"></iframe>
    
    </body>
    </html>
    index_in.jsp

          beginsearch.jsp(此jsp是为了防止servlet传参的空指针问题)

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@page import="javax.servlet.http.HttpSession" %>
    <%@page import="javax.servlet.http.HttpServletResponse" %>
    <%@page import="javax.servlet.http.HttpServletRequest" %>
    <%@page import="com.Bean.*" %>
    <%@page import="java.util.List" %>
    <%@page import="java.util.ArrayList" %>  
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    
    <style type="text/css">
    
    div{
        background-color:#3F51B5;
        width:300px; 
        height:500px;
        border-radius:5px;
    }
    
    div p{
        font-family:YouYuan;
        font-size:20px;
        color:#E8EAF6;
    }
    
    div p input{
        height:20px;
        border-radius:3px;
        border:0px;
    }
    
    #check{
        width:70px;
        height:25px;
        border-radius:3px;
        color:white;
        background-color:#004D99;
        text-align:center;
        text-decoration:none;
        border:none;
        position:relative;
        left:110px;
    }
    
    #check:hover{
        background-color:#6699CC;
    }
    
    #information{
        width:260px;
        height:300px;
        border-radius:3px;
        display:block;
        margin:0 auto;
        font-family:YouYuan;
        font-size:13px;
    }
    
    </style>
    
    </head>
    <body>
    
    <div>
        <form action="${pageContext.request.contextPath}/Search/SubwaySearchServlet" method="post" onsubmit="return oncheck()">
            <br/>        
            <p>&nbsp;&nbsp;起始站:
                <input type="text" name="start" id="start" placeholder="  Starting station">
            </p>
            <p>&nbsp;&nbsp;终点站:
                <input type="text" name="end" id="end" placeholder="  Ending station">
            </p>        
            <p><input type="submit" value="查询" name="check" id="check"></p>
            <textarea name="information" id="information" readonly="readonly">
            线路信息:
            </textarea>
        </form>
    </div>
    
    <script type="text/javascript">
    
    
    function oncheck() {
        
        var start = document.getElementById("start");
        var end = document.getElementById("end");
        var strstart = start.value;
        var strend = end.value;
        
        if(strstart == '') {
            alert('起始站为空');
            start.focus();
            return false;
        }
        if(strend == '') {
            alert('终点站为空');
            end.focus();
            return false;
        }
        
        return true;
    }
    
    </script>
    </body>
    </html>
    beginsearch.jsp

          search.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@page import="javax.servlet.http.HttpSession" %>
    <%@page import="javax.servlet.http.HttpServletResponse" %>
    <%@page import="javax.servlet.http.HttpServletRequest" %>
    <%@page import="com.Bean.*" %>
    <%@page import="java.util.List" %>
    <%@page import="java.util.ArrayList" %>  
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    
    <style type="text/css">
    
    div{
        background-color:#3F51B5;
        width:300px; 
        height:500px;
        border-radius:5px;
    }
    
    div p{
        font-family:YouYuan;
        font-size:20px;
        color:#E8EAF6;
    }
    
    div p input{
        height:20px;
        border-radius:3px;
        border:0px;
    }
    
    #check{
        width:70px;
        height:25px;
        border-radius:3px;
        color:white;
        background-color:#004D99;
        text-align:center;
        text-decoration:none;
        border:none;
        position:relative;
        left:110px;
    }
    
    #check:hover{
        background-color:#6699CC;
    }
    
    #information{
        width:260px;
        height:300px;
        border-radius:3px;
        display:block;
        margin:0 auto;
        font-family:YouYuan;
        font-size:13px;
    }
    
    </style>
    
    </head>
    <body>
    
    <div>
        <form action="${pageContext.request.contextPath}/Search/SubwaySearchServlet" method="post" onsubmit="return oncheck()">
            <br/>        
            <p>&nbsp;&nbsp;起始站:
                <input type="text" name="start" id="start" placeholder="  Starting station">
            </p>
            <p>&nbsp;&nbsp;终点站:
                <input type="text" name="end" id="end" placeholder="  Ending station">
            </p>        
            <p><input type="submit" value="查询" name="check" id="check"></p>
            <textarea name="information" id="information" readonly="readonly">
    线路信息:
    ------------------------------
    换乘最少:        
    <%List<Bean> l = (List<Bean>)session.getAttribute("list");int num=l.size();%>
    <%for(int i=0; i<l.size(); i++){%>
    <%=l.get(i).getStationname()%><%if((i+1 < l.size()) && l.get(i).getStationname().equals(l.get(i+1).getStationname())){ num=num-1;%><%="(换乘)"%><%}%>
    <%}%>
    <%="(共"+num+"站)" %>
    ------------------------------
    站点最少:
    <%List<Bean> l2 = (List<Bean>)session.getAttribute("list2");int num2=l2.size();%>
    <%for(int i=0; i<l2.size(); i++){%>
    <%=l2.get(i).getStationname()%>
    <%}%>
    <%="(共"+num2+"站)" %>
    ------------------------------
            </textarea>
        </form>
    </div>
    
    <script type="text/javascript">
    
    
    function oncheck() {
        
        var start = document.getElementById("start");
        var end = document.getElementById("end");
        var strstart = start.value;
        var strend = end.value;
        
        if(strstart == '') {
            alert('起始站为空');
            start.focus();
            return false;
        }
        if(strend == '') {
            alert('终点站为空');
            end.focus();
            return false;
        }
        if(strstart != ('上庄'||'西王'||'法医医院'||'军医医院'||'和平医院'||'烈士陵园'||'新百广场'||'大石桥'||'市招待所'||'北国商城'||'省博物馆'||'河北医大'||'建百大楼'||'艺术学校'||'谈固'||'白佛口'||'海世界'||'卓达星辰'||'石家庄东'||'东杜庄'||'东兆通'||'西庄'||'临济'||'行政中心'||'罗家南庄'||'罗家庄'||'罗家北庄'||'侯家庄'||'数路'||'只都'||'北白皮'||'蔡家岗'||'桃村'||'诸福屯'||'罗家庄'||'天元湖'||'天元湖西'||'北关'||'石家庄学院'||'正定'||'西关'||'神学院'||'市农科院'||'西古城'||'铁道学院'||'运河桥'||'蓝天圣木'||'长安公园'||'北国商城'||'河北大戏院'||'新世隆'||'东岗头'||'东三教'||'火车站'||'塔谈'||'塔谈南'||'南位'||'嘉华'||'河北科技大学'||'东尹村'||'楼底'||'于底'||'留营'||'油通村'||'栾城西'||'栾城'||'鹿泉一中'||'鹿泉医院'||'鹿泉中心'||'北海山'||'南新城'||'大郭镇'||'西三庄'||'水上公园'||'高柱'||'柏林路'||'市庄'||'十二中'||'新百广场'||'十一中'||'槐安大桥'||'中星路'||'火车站'||'金利街'||'印刷二厂'||'塔冢'||'裕华'||'裕华'||'南王'||'卓达'||'位同'||'中仰陵'||'南豆'||'韩通'||'北乐乡'||'南席'||'南席东'||'藁城西'||'藁城'||'藁城东'||'工业园'||'碧海蓝湾'||'东良厢'||'华医学院'||'滨河街(4号线)'||'塔谈南'||'南栾'||'涂料厂'||'赵卜口'||'南王'||'经济学院'||'东明商城'||'儿童医院'||'建百大楼'||'长安医院'||'建华市场'||'北翟营'||'高营镇'||'十里铺'||'滨河街(5号线)'||'华医学院'||'五星花园'||'碧海云天'||'审计厅'||'益友百货'||'和平医院'||'河北二建'||'和平西路'||'火车北站'||'市庄'||'军械学院'||'蓝天圣木'||'常青园'||'建华市场'||'南翟营'||'土贤庄'||'西兆通'||'东杜庄'||'南杨庄'||'东五女'||'西岗头'||'创业园'||'碧海云天'||'考试中心'||'槐安大桥'||'裕龙'||'人防大厦'||'新世隆'||'石门公园'||'省地震局'||'东明商城'||'国际城'||'二十里铺'||'海世界'||'北豆'||'南豆'||'东仰陵'||'工农路'||'郄马')){
            alert('起始站错误');
            start.focus();
            return false;
        }
        if(strend != ('上庄'||'西王'||'法医医院'||'军医医院'||'和平医院'||'烈士陵园'||'新百广场'||'大石桥'||'市招待所'||'北国商城'||'省博物馆'||'河北医大'||'建百大楼'||'艺术学校'||'谈固'||'白佛口'||'海世界'||'卓达星辰'||'石家庄东'||'东杜庄'||'东兆通'||'西庄'||'临济'||'行政中心'||'罗家南庄'||'罗家庄'||'罗家北庄'||'侯家庄'||'数路'||'只都'||'北白皮'||'蔡家岗'||'桃村'||'诸福屯'||'罗家庄'||'天元湖'||'天元湖西'||'北关'||'石家庄学院'||'正定'||'西关'||'神学院'||'市农科院'||'西古城'||'铁道学院'||'运河桥'||'蓝天圣木'||'长安公园'||'北国商城'||'河北大戏院'||'新世隆'||'东岗头'||'东三教'||'火车站'||'塔谈'||'塔谈南'||'南位'||'嘉华'||'河北科技大学'||'东尹村'||'楼底'||'于底'||'留营'||'油通村'||'栾城西'||'栾城'||'鹿泉一中'||'鹿泉医院'||'鹿泉中心'||'北海山'||'南新城'||'大郭镇'||'西三庄'||'水上公园'||'高柱'||'柏林路'||'市庄'||'十二中'||'新百广场'||'十一中'||'槐安大桥'||'中星路'||'火车站'||'金利街'||'印刷二厂'||'塔冢'||'裕华'||'裕华'||'南王'||'卓达'||'位同'||'中仰陵'||'南豆'||'韩通'||'北乐乡'||'南席'||'南席东'||'藁城西'||'藁城'||'藁城东'||'工业园'||'碧海蓝湾'||'东良厢'||'华医学院'||'滨河街(4号线)'||'塔谈南'||'南栾'||'涂料厂'||'赵卜口'||'南王'||'经济学院'||'东明商城'||'儿童医院'||'建百大楼'||'长安医院'||'建华市场'||'北翟营'||'高营镇'||'十里铺'||'滨河街(5号线)'||'华医学院'||'五星花园'||'碧海云天'||'审计厅'||'益友百货'||'和平医院'||'河北二建'||'和平西路'||'火车北站'||'市庄'||'军械学院'||'蓝天圣木'||'常青园'||'建华市场'||'南翟营'||'土贤庄'||'西兆通'||'东杜庄'||'南杨庄'||'东五女'||'西岗头'||'创业园'||'碧海云天'||'考试中心'||'槐安大桥'||'裕龙'||'人防大厦'||'新世隆'||'石门公园'||'省地震局'||'东明商城'||'国际城'||'二十里铺'||'海世界'||'北豆'||'南豆'||'东仰陵'||'工农路'||'郄马')){
            alert('终点站错误');
            end.focus();
            return false;
        }
        return true;
    }
    
    </script>
    </body>
    </html>
    search.jsp

          map.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <script src="js/drag.js"></script>
    <style type="text/css">
    
    #zoomSvg{
        transform:scale(1.2,1.2);
    }
    
    </style>
    </head>
    <body>
    
    <div id="dragDiv">
         <svg id="zoomSvg" width="1133" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1133 804" xmlns:ev="http://www.w3.org/2001/xml-events" height="804" xmlns:xlink="http://www.w3.org/1999/xlink">
            <style type="text/css"><![CDATA[
                .st2 {fill:#303030;font-family:Arial;font-size:5pt;font-weight:bold}
                .st4 {fill:#303030;font-family:宋体;font-size:10pt;font-weight:bold}
                .st3 {fill:#303030;font-family:宋体;font-size:5pt;font-weight:bold}
                .st1 {fill:#303030;font-family:宋体;font-size:9pt}
                ]]>
            </style>
            <defs>
                <linearGradient y1="0%" y2="100%" x2="0%" x1="0%" id="lg1">
                <stop offset="0" stop-color="#fbfbfb"/>
                <stop offset="1" stop-color="#efefef"/>
                </linearGradient>
            </defs>
        <g transform="translate(5,5)" id="page1">
    
    
    
    <path d="M502,0L0,0L-198.9,-208.5L-209.1,-198.9L-6.1,14L502,14L502,0z" stroke="#969696" fill="#00b4f0" transform="translate(610.06,222.79)" id="rivershape"/>
    <g transform="translate(805.06,223.3)" id="rivername">
    <path fill-opacity="0.08" d="M4.4,2L67.6,2C68.9,2,70,3.1,70,4.4L70,13.1C70,14.4,68.9,15.5,67.6,15.5L4.4,15.5C3.1,15.5,2,14.4,2,13.1L2,4.4C2,3.1,3.1,2,4.4,2z" fill="#000000"/>
    <path d="M2.4,0L65.6,0C66.9,0,68,1.1,68,2.4L68,11.1C68,12.4,66.9,13.5,65.6,13.5L2.4,13.5C1.1,13.5,0,12.4,0,11.1L0,2.4C0,1.1,1.1,0,2.4,0z" stroke="#6d6d6d" fill="url(#lg1)"/>
    <text class="st1">
    <tspan x="16" y="11.1">滹沱河</tspan>
    </text>
    </g>
    
    
    
    <path d="M0,0L468,0L468,5L0,5L0,0z" stroke="#d7091d" fill="#d7091d" transform="translate(212,415.17)" id="shape1"/>
    <path d="M30.2,0L-5.1,0L-4.3,48L.7,48L0,5L30.2,5L30.2,0z" stroke="#d7091d" fill="#d7091d" transform="translate(711.13,197.3)" id="shape2"/>
    <path d="M5,140.5L5,-2L-39.2,-49L-42.8,-45.6L0,0L0,140.5L5,140.5z" stroke="#d7091d" fill="#d7091d" transform="translate(750,291.3)" id="shape3"/>
    <path d="M60,0L0,0L-9.9,-12.9L-14.1,-10.1L-2.6,5L60,5L60,0z" stroke="#d7091d" fill="#d7091d" transform="translate(690,428.8)" id="shape4"/>
    <path d="M0,0L5,0L5,158.5L0,158.5L0,0z" stroke="#d7091d" fill="#d7091d" transform="translate(736.67,43.3)" id="shape5"/>
    <g transform="translate(733.5,40.13)" id="shape6">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">树路</tspan>
    </text>
    </g>
    <g transform="translate(733.5,70.43)" id="shape7">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">侯家庄</tspan>
    </text>
    </g>
    <g transform="translate(733.83,103.63)" id="shape8">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">罗家庄北</tspan>
    </text>
    </g>
    <g transform="translate(733.83,136.83)" id="shape9">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.84,0.55,-0.55,0.84,8.6,-6.1)">
    <tspan x="25.6" y="13.5">罗家庄</tspan>
    </text>
    </g>
    <g transform="translate(733.83,168.63)" id="shape10">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">罗家庄南</tspan>
    </text>
    </g>
    <g transform="translate(720.58,194.13)" id="shape11">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.69,0.73,-0.73,0.69,-2,0.6)">
    <tspan x="-31.9" y="-3.1">行政中心</tspan>
    </text>
    </g>
    <g transform="translate(703,207.48)" id="shape12">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-20.8" y="4.7">临济</tspan>
    </text>
    </g>
    <g transform="translate(746,284.96)" id="shape13">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">西庄</tspan>
    </text>
    </g>
    <g transform="translate(746.83,314.96)" id="shape14">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">东兆通</tspan>
    </text>
    </g>
    <g transform="translate(746.83,347.63)" id="shape15">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.61,-0.8,0.8,0.61,-11.6,4.9)">
    <tspan x="-23.8" y="13.2">东杜庄</tspan>
    </text>
    </g>
    <g transform="translate(746.83,380.3)" id="shape16">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">石家庄东</tspan>
    </text>
    </g>
    <g transform="translate(746,425.63)" id="shape17">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="23.9">卓达星辰</tspan>
    </text>
    </g>
    <g transform="translate(715.66,424.63)" id="shape18">
    <path stroke-width="3" d="M10.6,0L5.3,0C2.4,0,0,2.5,0,5.7C0,8.8,2.4,11.3,5.3,11.3L10.6,11.3" stroke="#d7091d" fill="#ffffff" transform="matrix(0,1,-1,0,11.3,0)"/>
    <path stroke-width="3" d="M0,0L5.3,0C8.3,0,10.6,2.5,10.6,5.7C10.6,8.8,8.3,11.3,5.3,11.3L0,11.3" stroke="#30c9f7" fill="#ffffff" transform="matrix(0,1,-1,0,11.3,10.6)"/>
    <text class="st3" transform="matrix(0.63,0.78,-0.78,0.63,6.3,2.1)">
    <tspan x="-22" y="9.6">海世界</tspan>
    </text>
    </g>
    <g transform="translate(672.33,411.63)" id="shape19">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="-8.5">白佛口</tspan>
    </text>
    </g>
    <g transform="translate(641.83,413)" id="shape20">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="-8.5">谈固</tspan>
    </text>
    </g>
    <g transform="translate(610.83,412)" id="shape21">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">艺术学校</tspan>
    </text>
    </g>
    <g transform="translate(579.83,412.33)" id="shape22">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.85,0.52,-0.52,0.85,8.1,-6.1)">
    <tspan x="25.8" y="13.2">建百大楼</tspan>
    </text>
    </g>
    <g transform="translate(548.83,413)" id="shape23">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">河北医大</tspan>
    </text>
    </g>
    <g transform="translate(517.83,412.33)" id="shape24">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">省博物馆</tspan>
    </text>
    </g>
    <g transform="translate(486.33,412.33)" id="shape25">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.85,0.52,-0.52,0.85,8.1,-6.1)">
    <tspan x="25.8" y="13.2">北国商城</tspan>
    </text>
    </g>
    <g transform="translate(455.83,412.33)" id="shape26">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">市招待所</tspan>
    </text>
    </g>
    <g transform="translate(424.83,412.33)" id="shape27">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="-8.5">大石桥</tspan>
    </text>
    </g>
    <g transform="translate(394.55,412.33)" id="shape28">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.85,0.52,-0.52,0.85,8.1,-6.1)">
    <tspan x="25.8" y="13.2">新百广场</tspan>
    </text>
    </g>
    <g transform="translate(362.83,412.33)" id="shape29">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">烈士陵园</tspan>
    </text>
    </g>
    <g transform="translate(332.33,412)" id="shape30">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.85,0.53,-0.53,0.85,8.1,-6.1)">
    <tspan x="25.7" y="13.3">和平医院</tspan>
    </text>
    </g>
    <g transform="translate(301.83,412.33)" id="shape31">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">军医医院</tspan>
    </text>
    </g>
    <g transform="translate(270.33,412.33)" id="shape32">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">法医医院</tspan>
    </text>
    </g>
    <g transform="translate(239.33,412.33)" id="shape33">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="-8.5">西王</tspan>
    </text>
    </g>
    <g transform="translate(208.83,412)" id="shape34">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="-8.5">上庄</tspan>
    </text>
    </g>
    <g transform="translate(677.34,51.45)" id="shape35">
    <text class="st4">
    <tspan x="15.4" y="14.7">1号线</tspan>
    </text>
    </g>
    <g transform="translate(147.33,409.7)" id="shape36">
    <text class="st4">
    <tspan x="15.4" y="14.7">1号线</tspan>
    </text>
    </g>
    <!--1号线:shape1到shape36-->
    
    
    
    <path d="M62.5,0L-5,0L-5,49L0,49L0,5L62.5,5L62.5,0z" stroke="#813f84" fill="#813f84" transform="translate(432,513)" id="shape37"/>
    <path d="M5,0L5,52L5,54.1L-71.2,131.8L-74.8,128.2L0,52L0,0L5,0z" stroke="#813f84" fill="#813f84" transform="translate(583,140)" id="shape38"/>
    <path d="M0,0L313,0L313,5L0,5L0,0z" stroke="#813f84" fill="#813f84" transform="translate(583,140)" id="shape39"/>
    <path d="M5,0L5,33.5L5,35.6L-15.8,57.3L-19.2,53.7L0,33.5L0,0L5,0z" stroke="#813f84" fill="#813f84" transform="translate(508.5,268.5)" id="shape40"/>
    <path d="M0,0L5,0L5,195.5L0,195.5L0,0z" stroke="#813f84" fill="#813f84" transform="translate(489.5,321.5)" id="shape41"/>
    <path d="M5,96L5,-5L-30,-5L-30,0L0,0L0,96L5,96z" stroke="#813f84" fill="#813f84" transform="translate(459,562)" id="shape42"/>
    <path d="M5,102L5,-5L-134,-5L-134,0L0,0L0,102L5,102z" stroke="#813f84" fill="#813f84" transform="translate(595,658)" id="shape43"/>
    <path d="M0,0L161,0L161,5L0,5L0,0z" stroke="#813f84" fill="#813f84" transform="translate(595,755)" id="shape44"/>
    <g transform="translate(887.83,136.83)" id="shape45">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="-8.5">只都</tspan>
    </text>
    </g>
    <g transform="translate(857.34,136.83)" id="shape46">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="-8.5">北白皮</tspan>
    </text>
    </g>
    <g transform="translate(826.67,136.83)" id="shape47">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="-8.5">蔡家岗</tspan>
    </text>
    </g>
    <g transform="translate(796,136.83)" id="shape48">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="-8.5">桃村</tspan>
    </text>
    </g>
    <g transform="translate(765.33,136.83)" id="shape49">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="-8.5">诸福屯</tspan>
    </text>
    </g>
    <g transform="translate(733.83,136.83)" id="shape50">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.84,0.55,-0.55,0.84,8.6,-6.1)">
    <tspan x="25.6" y="13.5">罗家庄</tspan>
    </text>
    </g>
    <g transform="translate(702,136.83)" id="shape51">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="-8.5">天元湖</tspan>
    </text>
    </g>
    <g transform="translate(672.33,136.83)" id="shape52">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">天元湖西</tspan>
    </text>
    </g>
    <g transform="translate(642.66,136.83)" id="shape53">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="-8.5">北关</tspan>
    </text>
    </g>
    <g transform="translate(609,136.83)" id="shape54">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-7.5" y="-8.5">石家庄学院</tspan>
    </text>
    </g>
    <g transform="translate(579.83,136.83)" id="shape55">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="-8.5">正定</tspan>
    </text>
    </g>
    <g transform="translate(579.83,168.63)" id="shape56">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">西关</tspan>
    </text>
    </g>
    <g transform="translate(555.59,213.3)" id="shape57">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">神学院</tspan>
    </text>
    </g>
    <g transform="translate(529.33,238.33)" id="shape58">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">市农科院</tspan>
    </text>
    </g>
    <g transform="translate(505.33,265.33)" id="shape59">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">西古城</tspan>
    </text>
    </g>
    <g transform="translate(505.33,297)" id="shape60">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">铁道学院</tspan>
    </text>
    </g>
    <g transform="translate(486.33,318.33)" id="shape61">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">运河桥</tspan>
    </text>
    </g>
    <g transform="translate(486.33,348.21)" id="shape62">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.9,-0.44,0.44,0.9,1.1,6.8)">
    <tspan x="26.2" y="3">蓝天圣木</tspan>
    </text>
    </g>
    <g transform="translate(486.83,380.83)" id="shape63">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">长安公园</tspan>
    </text>
    </g>
    <g transform="translate(486.33,412.33)" id="shape64">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.85,0.52,-0.52,0.85,8.1,-6.1)">
    <tspan x="25.8" y="13.2">北国商城</tspan>
    </text>
    </g>
    <g transform="translate(486.33,445.11)" id="shape65">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">河北大戏院</tspan>
    </text>
    </g>
    <g transform="translate(486.33,477.55)" id="shape66">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.89,0.46,-0.46,0.89,6.6,-5.8)">
    <tspan x="26.1" y="12.6">新世隆</tspan>
    </text>
    </g>
    <g transform="translate(486.33,509.83)" id="shape67">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">东岗头</tspan>
    </text>
    </g>
    <g transform="translate(455.83,508.66)" id="shape68">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="-8.5">东三教</tspan>
    </text>
    </g>
    <g transform="translate(423.83,529.33)" id="shape69">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.69,-0.72,0.72,0.69,-10.2,2.9)">
    <tspan x="-24.7" y="12.4">火车站</tspan>
    </text>
    </g>
    <g transform="translate(455.83,555.3)" id="shape70">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="21.7" y="6.7">塔谈</tspan>
    </text>
    </g>
    <g transform="translate(455.83,587.3)" id="shape71">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.7,-0.71,0.71,0.7,-10,2.6)">
    <tspan x="-24.8" y="12.2">塔谈南</tspan>
    </text>
    </g>
    <g transform="translate(455.83,617.63)" id="shape72">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">南位</tspan>
    </text>
    </g>
    <g transform="translate(455.33,649.83)" id="shape73">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="23.9">嘉华</tspan>
    </text>
    </g>
    <g transform="translate(506,650.3)" id="shape74">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-11.1" y="23.9">河北科技大学</tspan>
    </text>
    </g>
    <g transform="translate(548.83,649.83)" id="shape75">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">东尹村</tspan>
    </text>
    </g>
    <g transform="translate(591.83,650.3)" id="shape76">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">楼底</tspan>
    </text>
    </g>
    <g transform="translate(591.83,703.15)" id="shape77">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">于底</tspan>
    </text>
    </g>
    <g transform="translate(591.83,734.63)" id="shape78">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">留营</tspan>
    </text>
    </g>
    <g transform="translate(621.98,751.83)" id="shape79">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">油通村</tspan>
    </text>
    </g>
    <g transform="translate(677.32,751.83)" id="shape80">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">栾城西</tspan>
    </text>
    </g>
    <g transform="translate(747.83,751.83)" id="shape81">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="23.9">栾城</tspan>
    </text>
    </g>
    <g transform="translate(898,136.83)" id="shape82">
    <text class="st4">
    <tspan x="15.4" y="14.7">2号线</tspan>
    </text>
    </g>
    <g transform="translate(722.17,730.75)" id="shape83">
    <text class="st4">
    <tspan x="15.4" y="14.7">2号线</tspan>
    </text>
    </g>
    <!--2号线:shape37到shape83-->
    
    
    
    <path d="M0,0L681,0L681,5L0,5L0,0z" stroke="#0168a5" fill="#0168a5" transform="translate(398.5,532.28)" id="shape84"/>
    <path d="M0,0L5,0L5,216.5L0,216.5L0,0z" stroke="#0168a5" fill="#0168a5" transform="translate(397.72,320.78)" id="shape85"/>
    <path d="M0,0L361.5,0L361.5,5L0,5L0,0z" stroke="#0168a5" fill="#0168a5" transform="translate(44,318.78)" id="shape86"/>
    <g transform="translate(1067.66,528.11)" id="shape87">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">工业园</tspan>
    </text>
    </g>
    <g transform="translate(1036.33,528.11)" id="shape88">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">藁城东</tspan>
    </text>
    </g>
    <g transform="translate(1005.33,528.11)" id="shape89">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="23.9">藁城</tspan>
    </text>
    </g>
    <g transform="translate(974.33,528.11)" id="shape90">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">藁城西</tspan>
    </text>
    </g>
    <g transform="translate(876.98,528.11)" id="shape91">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">南席东</tspan>
    </text>
    </g>
    <g transform="translate(833.32,528.11)" id="shape92">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="23.9">南席</tspan>
    </text>
    </g>
    <g transform="translate(789.66,528.11)" id="shape93">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">北乐乡</tspan>
    </text>
    </g>
    <g transform="translate(746,528.11)" id="shape94">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="23.9">韩通</tspan>
    </text>
    </g>
    <g transform="translate(715.33,529.11)" id="shape95">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.71,-0.71,0.71,0.71,5.2,8.8)">
    <tspan x="24.2" y="0.1">南豆</tspan>
    </text>
    </g>
    <g transform="translate(685,528.11)" id="shape96">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">中仰陵</tspan>
    </text>
    </g>
    <g transform="translate(640.66,528.11)" id="shape97">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="23.9">位同</tspan>
    </text>
    </g>
    <g transform="translate(611.33,528.11)" id="shape98">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="23.9">卓达</tspan>
    </text>
    </g>
    <g transform="translate(579.83,528.11)" id="shape99">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.61,0.79,-0.79,0.61,15.9,-4.2)">
    <tspan x="23.2" y="16.1">南王</tspan>
    </text>
    </g>
    <g transform="translate(548.83,528.11)" id="shape100">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="23.9">裕华</tspan>
    </text>
    </g>
    <g transform="translate(517.83,528.11)" id="shape101">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="23.9">塔家</tspan>
    </text>
    </g>
    <g transform="translate(486.83,528.11)" id="shape102">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="23.9">印刷二场</tspan>
    </text>
    </g>
    <g transform="translate(455.83,528.11)" id="shape103">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">金利街</tspan>
    </text>
    </g>
    <g transform="translate(423.83,529.11)" id="shape104">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.69,-0.72,0.72,0.69,-10.2,2.9)">
    <tspan x="-24.7" y="12.4">火车站</tspan>
    </text>
    </g>
    <g transform="translate(393.66,508.44)" id="shape105">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.93,-0.37,0.37,0.93,-3.8,-0.9)">
    <tspan x="-27.3" y="8.6">中星路</tspan>
    </text>
    </g>
    <g transform="translate(394.96,476.66)" id="shape106">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.86,0.51,-0.51,0.86,7.8,-6)">
    <tspan x="25.8" y="13.1">槐安大桥</tspan>
    </text>
    </g>
    <g transform="translate(394.55,444.89)" id="shape107">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">十一中</tspan>
    </text>
    </g>
    <g transform="translate(394.55,412.11)" id="shape108">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.85,0.52,-0.52,0.85,8.1,-6.1)">
    <tspan x="25.8" y="13.2">新百广场</tspan>
    </text>
    </g>
    <g transform="translate(394.96,380.61)" id="shape109">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">市二中</tspan>
    </text>
    </g>
    <g transform="translate(394.55,347.99)" id="shape110">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.85,0.52,-0.52,0.85,8.1,-6.1)">
    <tspan x="25.8" y="13.2">市庄</tspan>
    </text>
    </g>
    <g transform="translate(394.96,315.37)" id="shape111">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="-8.5">柏林路</tspan>
    </text>
    </g>
    <g transform="translate(362.83,315.61)" id="shape112">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="-8.5">高柱</tspan>
    </text>
    </g>
    <g transform="translate(332.33,315.61)" id="shape113">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">水上公园</tspan>
    </text>
    </g>
    <g transform="translate(301.83,315.61)" id="shape114">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="-8.5">西三庄</tspan>
    </text>
    </g>
    <g transform="translate(251.83,315.61)" id="shape115">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="-8.5">大郭镇</tspan>
    </text>
    </g>
    <g transform="translate(190.33,315.61)" id="shape116">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="-8.5">南新城</tspan>
    </text>
    </g>
    <g transform="translate(147.33,315.61)" id="shape117">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="-8.5">北海山</tspan>
    </text>
    </g>
    <g transform="translate(104.33,315.61)" id="shape118">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">鹿泉中心</tspan>
    </text>
    </g>
    <g transform="translate(73.33,315.61)" id="shape119">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">鹿泉医院</tspan>
    </text>
    </g>
    <g transform="translate(42.33,315.61)" id="shape120">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">鹿泉一中</tspan>
    </text>
    </g>
    <g transform="translate(28,330.78)" id="shape121">
    <text class="st4">
    <tspan x="15.4" y="14.7">3号线</tspan>
    </text>
    </g>
    <g transform="translate(992,556.9)" id="shape122">
    <text class="st4">
    <tspan x="15.4" y="14.7">3号线</tspan>
    </text>
    </g>
    <!--3号线:shape84到shape123-->
    
    
    
    <path d="M250,0L0,0L-48.2,-49.9L-51.8,-46.5L-2.2,5L250,5L250,0z" stroke="#deb887" fill="#deb887" transform="translate(338,589.47)" id="shape124"/>
    <path d="M5,270.2L5,0L36,0L36,-5L0,-5L0,270.2L5,270.2z" stroke="#deb887" fill="#deb887" transform="translate(583,323.77)" id="shape125"/>
    <path d="M0,0L5,0L5,32.2L0,32.2L0,0z" stroke="#deb887" fill="#deb887" transform="translate(614,286.3)" id="shape126"/>
    <g transform="translate(610.83,283.13)" id="shape127">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">十里铺</tspan>
    </text>
    </g>
    <g transform="translate(610.66,315.59)" id="shape128">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">高营镇</tspan>
    </text>
    </g>
    <g transform="translate(579.83,315.59)" id="shape129">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-28" y="4.7">北翟营</tspan>
    </text>
    </g>
    <g transform="translate(579.83,348.21)" id="shape130">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.65,-0.76,0.76,0.65,-10.9,3.8)">
    <tspan x="-31.5" y="12.7">建华市场</tspan>
    </text>
    </g>
    <g transform="translate(579.83,380.83)" id="shape131">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">长安医院</tspan>
    </text>
    </g>
    <g transform="translate(579.83,412.33)" id="shape132">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.85,0.52,-0.52,0.85,8.1,-6.1)">
    <tspan x="25.8" y="13.2">建百大楼</tspan>
    </text>
    </g>
    <g transform="translate(579.83,445.11)" id="shape133">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">儿童医院</tspan>
    </text>
    </g>
    <g transform="translate(579.83,476.88)" id="shape134">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.61,-0.79,0.79,0.61,-11.5,4.7)">
    <tspan x="-31.1" y="13.1">东明商城</tspan>
    </text>
    </g>
    <g transform="translate(579.83,502.63)" id="shape135">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">经济学院</tspan>
    </text>
    </g>
    <g transform="translate(579.83,528.33)" id="shape136">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.61,0.79,-0.79,0.61,15.9,-4.2)">
    <tspan x="23.2" y="16.1">南王</tspan>
    </text>
    </g>
    <g transform="translate(579.83,585.33)" id="shape137">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">赵卜口</tspan>
    </text>
    </g>
    <g transform="translate(531.92,586.3)" id="shape138">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">涂料厂</tspan>
    </text>
    </g>
    <g transform="translate(486.83,586.3)" id="shape139">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="23.9">南栗</tspan>
    </text>
    </g>
    <g transform="translate(455.83,587.3)" id="shape140">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.7,-0.71,0.71,0.7,-10,2.6)">
    <tspan x="-24.8" y="12.2">塔谈南</tspan>
    </text>
    </g>
    <g transform="translate(387.66,586.3)" id="shape141">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">滨河街</tspan>
    </text>
    </g>
    <g transform="translate(332.33,585.33)" id="shape142">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.87,-0.49,0.49,0.87,1.6,7.3)">
    <tspan x="26" y="2.5">华医学院</tspan>
    </text>
    </g>
    <g transform="translate(306,561)" id="shape143">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">东良厢</tspan>
    </text>
    </g>
    <g transform="translate(282.33,535.63)" id="shape144">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">碧水蓝湾</tspan>
    </text>
    </g>
    <g transform="translate(240.58,551.42)" id="shape145">
    <text class="st4">
    <tspan x="15.4" y="14.7">4号线</tspan>
    </text>
    </g>
    <g transform="translate(579.83,261.45)" id="shape146">
    <text class="st4">
    <tspan x="15.4" y="14.7">4号线</tspan>
    </text>
    </g>
    <!--4号线:shape124到shape146-->
    
    
    
    <path d="M475.3,0L-5,0L-5,273.5L0,273.5L0,5L475.3,5L475.3,0z" stroke="#f08300" fill="#f08300" transform="translate(340.67,352.47)" id="shape147"/>
    <g transform="translate(807.83,349.3)" id="shape148">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">东五女</tspan>
    </text>
    </g>
    <g transform="translate(778.33,348.3)" id="shape149">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">南杨庄</tspan>
    </text>
    </g>
    <g transform="translate(746.83,347.63)" id="shape150">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.61,-0.8,0.8,0.61,-11.6,4.9)">
    <tspan x="-23.8" y="13.2">东杜庄</tspan>
    </text>
    </g>
    <g transform="translate(709,347.63)" id="shape151">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">西兆通</tspan>
    </text>
    </g>
    <g transform="translate(648,348.3)" id="shape152">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">土贤庄</tspan>
    </text>
    </g>
    <g transform="translate(610.83,348.3)" id="shape153">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">南翟营</tspan>
    </text>
    </g>
    <g transform="translate(579.83,348.21)" id="shape154">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.65,-0.76,0.76,0.65,-10.9,3.8)">
    <tspan x="-31.5" y="12.7">建华市场</tspan>
    </text>
    </g>
    <g transform="translate(533.08,348.21)" id="shape155">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="23.9">常青园</tspan>
    </text>
    </g>
    <g transform="translate(486.33,348.21)" id="shape156">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.9,-0.44,0.44,0.9,1.1,6.8)">
    <tspan x="26.2" y="3">蓝天圣木</tspan>
    </text>
    </g>
    <g transform="translate(440.33,348.21)" id="shape157">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="23.9">军械学院</tspan>
    </text>
    </g>
    <g transform="translate(394.55,348.21)" id="shape158">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.85,0.52,-0.52,0.85,8.1,-6.1)">
    <tspan x="25.8" y="13.2">市庄</tspan>
    </text>
    </g>
    <g transform="translate(362.83,349.3)" id="shape159">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="23.9">火车北站</tspan>
    </text>
    </g>
    <g transform="translate(332.33,348.21)" id="shape160">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-35.2" y="4.7">和平西路</tspan>
    </text>
    </g>
    <g transform="translate(332.33,380.83)" id="shape161">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-35.2" y="4.7">河北二建</tspan>
    </text>
    </g>
    <g transform="translate(332.33,412)" id="shape162">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.85,0.53,-0.53,0.85,8.1,-6.1)">
    <tspan x="25.7" y="13.3">和平医院</tspan>
    </text>
    </g>
    <g transform="translate(332.33,445.11)" id="shape163">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-35.2" y="4.7">益友百货</tspan>
    </text>
    </g>
    <g transform="translate(332.33,476.88)" id="shape164">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-28" y="4.7">审计厅</tspan>
    </text>
    </g>
    <g transform="translate(332.33,508.66)" id="shape165">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.77,0.63,-0.63,0.77,11,-6)">
    <tspan x="24.9" y="14.4">碧海云天</tspan>
    </text>
    </g>
    <g transform="translate(332.33,547.66)" id="shape166">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">五星花园</tspan>
    </text>
    </g>
    <g transform="translate(332.33,585.33)" id="shape167">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.87,-0.49,0.49,0.87,1.6,7.3)">
    <tspan x="26" y="2.5">华医学院</tspan>
    </text>
    </g>
    <g transform="translate(332.5,620.33)" id="shape168">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">滨河街</tspan>
    </text>
    </g>
    <g transform="translate(807.83,338.37)" id="shape169">
    <text class="st4">
    <tspan x="15.4" y="14.7">5号线</tspan>
    </text>
    </g>
    <g transform="translate(306.67,638.9)" id="shape170">
    <text class="st4">
    <tspan x="15.4" y="14.7">5号线</tspan>
    </text>
    </g>
    <!--5号线:shape147到shape170-->
    
    
    
    <path d="M0,0L297.8,0L297.8,5L0,5L0,0z" stroke="#30c9f7" fill="#30c9f7" transform="translate(366.61,480.72)" id="shape171"/>
    <path d="M12.5,0L-2.1,0L-48.3,46.8L-44.7,50.2L0,5L12.5,5L12.5,0z" stroke="#30c9f7" fill="#30c9f7" transform="translate(709.5,435.5)" id="shape172"/>
    <path d="M0,0L5,0L5,221.3L0,221.3L0,0z" stroke="#30c9f7" fill="#30c9f7" transform="translate(719.22,436.72)" id="shape173"/>
    <path d="M0,0L94,0L94,-31.5L99,-31.5L99,5L0,5L0,0z" stroke="#30c9f7" fill="#30c9f7" transform="translate(271.83,512.49)" id="shape174"/>
    <g transform="translate(716.05,649.83)" id="shape175">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">郗马</tspan>
    </text>
    </g>
    <g transform="translate(715.33,592.67)" id="shape176">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">工农路</tspan>
    </text>
    </g>
    <g transform="translate(716.05,561)" id="shape177">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">东仰陵</tspan>
    </text>
    </g>
    <g transform="translate(715.33,529.33)" id="shape178">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.71,-0.71,0.71,0.71,5.2,8.8)">
    <tspan x="24.2" y="0.1">南豆</tspan>
    </text>
    </g>
    <g transform="translate(715.33,483.53)" id="shape179">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="27.3" y="7.7">北豆</tspan>
    </text>
    </g>
    <g transform="translate(715.66,424.63)" id="shape180">
    <path stroke-width="3" d="M10.6,0L5.3,0C2.4,0,0,2.5,0,5.7C0,8.8,2.4,11.3,5.3,11.3L10.6,11.3" stroke="#d7091d" fill="#ffffff" transform="matrix(0,1,-1,0,11.3,0)"/>
    <path stroke-width="3" d="M0,0L5.3,0C8.3,0,10.6,2.5,10.6,5.7C10.6,8.8,8.3,11.3,5.3,11.3L0,11.3" stroke="#30c9f7" fill="#ffffff" transform="matrix(0,1,-1,0,11.3,10.6)"/>
    <text class="st3" transform="matrix(0.63,0.78,-0.78,0.63,6.3,2.1)">
    <tspan x="-22" y="9.6">海世界</tspan>
    </text>
    </g>
    <g transform="translate(641.83,476.88)" id="shape181">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">二十里铺</tspan>
    </text>
    </g>
    <g transform="translate(610.83,476.88)" id="shape182">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="-8.5">国际城</tspan>
    </text>
    </g>
    <g transform="translate(579.83,476.88)" id="shape183">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.61,-0.79,0.79,0.61,-11.5,4.7)">
    <tspan x="-31.1" y="13.1">东明商城</tspan>
    </text>
    </g>
    <g transform="translate(548.83,477.55)" id="shape184">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">省地震局</tspan>
    </text>
    </g>
    <g transform="translate(517.83,477.55)" id="shape185">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">石门公园</tspan>
    </text>
    </g>
    <g transform="translate(486.33,477.55)" id="shape186">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.89,0.46,-0.46,0.89,6.6,-5.8)">
    <tspan x="26.1" y="12.6">新世隆</tspan>
    </text>
    </g>
    <g transform="translate(455.83,476.88)" id="shape187">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">人防大厦</tspan>
    </text>
    </g>
    <g transform="translate(424.83,477.55)" id="shape188">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="3.3" y="-8.5">裕龙</tspan>
    </text>
    </g>
    <g transform="translate(394.96,476.88)" id="shape189">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.86,0.51,-0.51,0.86,7.8,-6)">
    <tspan x="25.8" y="13.1">槐安大桥</tspan>
    </text>
    </g>
    <g transform="translate(362.66,476.33)" id="shape190">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-3.9" y="-8.5">考试中心</tspan>
    </text>
    </g>
    <g transform="translate(332.33,508.66)" id="shape191">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2" transform="matrix(0.77,0.63,-0.63,0.77,11,-6)">
    <tspan x="24.9" y="14.4">碧海云天</tspan>
    </text>
    </g>
    <g transform="translate(301.83,509.33)" id="shape192">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="-8.5">创业园</tspan>
    </text>
    </g>
    <g transform="translate(268.66,509.33)" id="shape193">
    <path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
    <text class="st2">
    <tspan x="-0.3" y="-8.5">西岗头</tspan>
    </text>
    </g>
    <g transform="translate(692.5,670.45)" id="shape194">
    <text class="st4">
    <tspan x="15.4" y="14.7">6号线</tspan>
    </text>
    </g>
    <g transform="translate(211.25,498.9)" id="shape195">
    <text class="st4">
    <tspan x="15.4" y="14.7">6号线</tspan>
    </text>
    </g>
    <!--6号线:shape171到shape195-->
    
    
    
    </g>
    </svg>
    </div>
    
    </body>
    <script type="text/javascript">
    
    window.onload = function () {
        $solway.drag({
            ele: document.getElementById('dragDiv')
        });
    };
    
    var now = 2.2;
    var svg = document.getElementById("zoomSvg");
    function zoom(num){
        switch(num){
            case 1.1:now += 0.2;
                if(now>4)
                    now=4;
                svg.style = "transform:scale(" + now + ","+ now + ")";
                break;
            case 0.9:now -= 0.2;
                if(now<1.2)
                    now=1.2;
                svg.style = "transform:scale(" + now + ","+ now + ")";
                break;
        }
    }
    var scrollFunc=function(e){
        e=e || window.event; 
        if(e.wheelDelta){//IE/Opera/Chrome
            if(e.wheelDelta>0)
                zoom(1.1);
            else
                zoom(0.9);
        }else if(e.detail){//Firefox 
            if(e.detail>0)
                zoom(1.1);
            else
                zoom(0.9);
        }
    } 
    /*注册事件*/ 
    if(document.addEventListener){ 
        document.addEventListener('DOMMouseScroll',scrollFunc,false);
    }//W3C 
    window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome/Safari 
    
    </script>
    </html>
    map.jsp

        foot.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
    
    #foot{
        background-color:#3F51B5;
        width:100%; 
        height:60px;
    }
    
    #foot span{
        font-family:YouYuan;
        font-size:17px;
        color:white;
        display:block;
        text-align:center;
        position: relative;
        top:20px;    
    }
    
    </style>
    </head>
    <body>
    
    <div id="foot">
        <span>注:--------</span>
    </div>
    
    </body>
    </html>
    foot.jsp

      (二)后台设计与算法

       

        1)

        Java文件分为四个包:

        com.Bean:用于存放站点类。

        com.Dao:用于存放算法。

        com.DBUtil:用于存放数据库连接类。

        com.Servlet:用于存放servlet类。

        2)代码

        com.Bean:

          Bean.java

    package com.Bean;
    
    public class Bean {
        private int lineid;
        private String stationname;
        private int tinformation;
        private int ordnum;
        
        public void setLineid(int lineid){
            this.lineid = lineid;
        }
        public int getLineid() {
            return lineid;
        }    
        public void setStationname(String stationname){
            this.stationname = stationname;
        }
        public String getStationname() {
            return stationname;
        }    
        public void setTinformation(int tinformation){
            this.tinformation = tinformation;
        }
        public int getTinformation() {
            return tinformation;
        }    
        public void setOrdnum(int ordnum){
            this.ordnum = ordnum;
        }
        public int getOrdnum() {
            return ordnum;
        }
    }
    Bean.java

        com.Dao:

        (此包中的类用来计算站点最少的路径,该算法我没有想出来,是我从网上找来然后修改的,原地址:https://blog.csdn.net/wangchsh2008/article/details/46288967

          DataBuilder.java(存放线路)

    package com.Dao;
    
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;
    
    import com.DBUtil.SubwayDBUtil;
    
    public class DataBuilder {
        public static List<Station> line1 = new ArrayList<Station>();//1号线
        public static List<Station> line2 = new ArrayList<Station>();//2号线
        public static List<Station> line3 = new ArrayList<Station>();//3号线
        public static List<Station> line4 = new ArrayList<Station>();//4号线
        public static List<Station> line5 = new ArrayList<Station>();//5号线
        public static List<Station> line6 = new ArrayList<Station>();//6号线
        public static Set<List<Station>> lineSet = new HashSet<List<Station>>();//所有线集合
        public static int totalStaion = 0;//总的站点数量
        static {        
            /*******************************************************************************/
            //1号线
            String[] line1Arr = new String[29];
            Connection conn1 = SubwayDBUtil.getConn();
            try {
                Statement stmt = conn1.createStatement();
                String sql = "select * from line where lineid=1";
                  ResultSet rs = stmt.executeQuery(sql);
                  int k = 0;
                  while(rs.next()) {                  
                      line1Arr[k] = rs.getString("stationname");
                      k++;
                  }
                  conn1.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }        
    
            for(String s : line1Arr) {
                line1.add(new Station(s));
            }
            for(int i =0;i<line1.size();i++) {
                if(i<line1.size()-1) {
                    line1.get(i).next = line1.get(i+1);
                    line1.get(i+1).prev = line1.get(i);
                }
            }
            
            /*******************************************************************************/
            //2号线
            String[] line2Arr = new String[37];
            Connection conn2 = SubwayDBUtil.getConn();
            try {
                Statement stmt = conn2.createStatement();
                String sql = "select * from line where lineid=2";
                  ResultSet rs = stmt.executeQuery(sql);
                  int k = 0;
                  while(rs.next()) {                  
                      line2Arr[k] = rs.getString("stationname");
                      k++;
                  }
                  conn2.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }        
    
            for(String s : line2Arr) {
                line2.add(new Station(s));
            }
            for(int i =0;i<line2.size();i++) {
                if(i<line2.size()-1) {
                    line2.get(i).next = line2.get(i+1);
                    line2.get(i+1).prev = line2.get(i);
                }
            }
            
            /*******************************************************************************/
            //3号线
            String[] line3Arr = new String[35];
            Connection conn3 = SubwayDBUtil.getConn();
            try {
                Statement stmt = conn3.createStatement();
                String sql = "select * from line where lineid=3";
                  ResultSet rs = stmt.executeQuery(sql);
                  int k = 0;
                  while(rs.next()) {                  
                      line3Arr[k] = rs.getString("stationname");
                      k++;
                  }
                  conn3.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }    
            
            for(String s : line3Arr) {
                line3.add(new Station(s));
            }
            for(int i =0;i<line3.size();i++) {
                if(i<line3.size()-1) {
                    line3.get(i).next = line3.get(i+1);
                    line3.get(i+1).prev = line3.get(i);
                }
            }
            
            /*******************************************************************************/        
            //4号线
            String[] line4Arr = new String[18];
            Connection conn4 = SubwayDBUtil.getConn();
            try {
                Statement stmt = conn4.createStatement();
                String sql = "select * from line where lineid=4";
                  ResultSet rs = stmt.executeQuery(sql);
                  int k = 0;
                  while(rs.next()) {                  
                      line4Arr[k] = rs.getString("stationname");
                      k++;
                  }
                  conn4.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            
            for(String s : line4Arr) {
                line4.add(new Station(s));
            }
            for(int i =0;i<line4.size();i++) {
                if(i<line4.size()-1) {
                    line4.get(i).next = line4.get(i+1);
                    line4.get(i+1).prev = line4.get(i);
                }
            }
            
            /*******************************************************************************/        
            //5号线
            String[] line5Arr = new String[21];
            Connection conn5 = SubwayDBUtil.getConn();
            try {
                Statement stmt = conn5.createStatement();
                String sql = "select * from line where lineid=5";
                  ResultSet rs = stmt.executeQuery(sql);
                  int k = 0;
                  while(rs.next()) {                  
                      line5Arr[k] = rs.getString("stationname");
                      k++;
                  }
                  conn5.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            
            for(String s : line5Arr) {
                line5.add(new Station(s));
            }
            for(int i =0;i<line5.size();i++) {
                if(i<line5.size()-1) {
                    line5.get(i).next = line5.get(i+1);
                    line5.get(i+1).prev = line5.get(i);
                }
            }
            
            /*******************************************************************************/        
            //s8号线
            String[] line6Arr = new String[19];
            Connection conn6 = SubwayDBUtil.getConn();
            try {
                Statement stmt = conn6.createStatement();
                String sql = "select * from line where lineid=6";
                  ResultSet rs = stmt.executeQuery(sql);
                  int k = 0;
                  while(rs.next()) {                  
                      line6Arr[k] = rs.getString("stationname");
                      k++;
                  }
                  conn6.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            
            for(String s : line6Arr) {
                line6.add(new Station(s));
            }
            for(int i =0;i<line6.size();i++) {
                if(i<line6.size()-1) {
                    line6.get(i).next = line6.get(i+1);
                    line6.get(i+1).prev = line6.get(i);
                }
            }
            
            /*******************************************************************************/
            lineSet.add(line1);
            lineSet.add(line2);
            lineSet.add(line3);
            lineSet.add(line4);
            lineSet.add(line5);
            lineSet.add(line6);
            totalStaion  = line1.size() + line2.size() + line3.size() + line4.size() + line5.size() + line6.size();
            System.out.println("总的站点数量:"+totalStaion);
        }
        public static void main(String[] args) {
            System.out.println("总的站点数量:"+totalStaion);
        }
    }
    DataBuilder.java

          Station.java(另一个站点类)

    package com.Dao;
    
    import java.util.HashMap;
    import java.util.LinkedHashSet;
    import java.util.Map;
    
    public class Station {
        private String name; //地铁站名称,假设具备唯一性    
        public Station prev; //本站在lineNo线上面的前一个站    
        public Station next; //本站在lineNo线上面的后一个站
        
        //本站到某一个目标站(key)所经过的所有站集合(value),保持前后顺序
        private Map<Station,LinkedHashSet<Station>> orderSetMap = new HashMap<Station,LinkedHashSet<Station>>();
        
        public Station (String name){
            this.name = name;
        }
     
        public String getName() {
            return name;
        }
     
        public void setName(String name) {
            this.name = name;
        }
        
        public LinkedHashSet<Station> getAllPassedStations(Station station) {
            if(orderSetMap.get(station) == null) {
                LinkedHashSet<Station> set = new LinkedHashSet<Station>(); 
                set.add(this);
                orderSetMap.put(station, set);
            }
            return orderSetMap.get(station);
        }
     
        public Map<Station, LinkedHashSet<Station>> getOrderSetMap() {
            return orderSetMap;
        }
        
        @Override
        public boolean equals(Object obj) {
            if(this == obj){
                return true;
            } 
            else if(obj instanceof Station) {
                Station s = (Station) obj;    
                if(s.getName().equals(this.getName())) {
                    return true;
                } 
                else {
                    return false;
                }
            } 
            else {
                return false;
            }
        }
        
        
        @Override
        public int hashCode() {
            return this.getName().hashCode();
        }
        
    }
    Ststion.java

          Subway.java(具体算法的实现)

    package com.Dao;
    
    import java.util.ArrayList;
    import java.util.LinkedHashSet;
    import java.util.List;
    
    import com.Bean.Bean;
    
    public class Subway {
        
        private List<Station> outList = new ArrayList<Station>();//记录已经分析过的站点
        
        //计算从s1站到s2站的最短经过路径
        public List<Bean> calculate(Station s1,Station s2){
            
            List<Bean> list = new ArrayList<Bean>();//用于返回路径信息
            
            if(outList.size() == DataBuilder.totalStaion){
                System.out.println("找到目标站点:"+s2.getName()+",共经过"+(s1.getAllPassedStations(s2).size()-1)+"站");
                for(Station station : s1.getAllPassedStations(s2)){
                    System.out.print(station.getName()+"->");
                    Bean bean = new Bean();
                    bean.setStationname(station.getName());
                    list.add(bean);
                }
                return list;
            }
            if(!outList.contains(s1)){
                outList.add(s1);
            }
            //如果起点站的OrderSetMap为空,则第一次用起点站的前后站点初始化之
            if(s1.getOrderSetMap().isEmpty()){
                List<Station> Linkedstations = getAllLinkedStations(s1);
                for(Station s : Linkedstations){
                    s1.getAllPassedStations(s).add(s);
                }
            }
            Station parent = getShortestPath(s1);//获取距离起点站s1最近的一个站(有多个的话,随意取一个)
            if(parent == s2){
                System.out.println("找到目标站点:"+s2+",共经过"+(s1.getAllPassedStations(s2).size()-1)+"站");
                for(Station station : s1.getAllPassedStations(s2)){
                    System.out.print(station.getName()+"->");
                    Bean bean = new Bean();
                    bean.setStationname(station.getName());
                    list.add(bean);
                }
                return list;
            }
            for(Station child : getAllLinkedStations(parent)){
                if(outList.contains(child)){
                    continue;
                }
                int shortestPath = (s1.getAllPassedStations(parent).size()-1) + 1;//前面这个1表示计算路径需要去除自身站点,后面这个1表示增加了1站距离
                if(s1.getAllPassedStations(child).contains(child)){
                    //如果s1已经计算过到此child的经过距离,那么比较出最小的距离
                    if((s1.getAllPassedStations(child).size()-1) > shortestPath){
                        //重置S1到周围各站的最小路径
                        s1.getAllPassedStations(child).clear();
                        s1.getAllPassedStations(child).addAll(s1.getAllPassedStations(parent));
                        s1.getAllPassedStations(child).add(child);
                    }
                } else {
                    //如果s1还没有计算过到此child的经过距离
                    s1.getAllPassedStations(child).addAll(s1.getAllPassedStations(parent));
                    s1.getAllPassedStations(child).add(child);
                }
            }
            outList.add(parent);
            return calculate(s1,s2);
        }
        
        //取参数station到各个站的最短距离,相隔1站,距离为1,依次类推
        private Station getShortestPath(Station station){
            int minPatn = Integer.MAX_VALUE;
            Station rets = null;
            for(Station s :station.getOrderSetMap().keySet()){
                if(outList.contains(s)){
                    continue;
                }
                LinkedHashSet<Station> set  = station.getAllPassedStations(s);//参数station到s所经过的所有站点的集合
                if(set.size() < minPatn){
                    minPatn = set.size();
                    rets = s;
                }
            }
            return rets;
        }
        
        //获取参数station直接相连的所有站,包括交叉线上面的站
        private List<Station> getAllLinkedStations(Station station){
            List<Station> linkedStaions = new ArrayList<Station>();
            for(List<Station> line : DataBuilder.lineSet){
                if(line.contains(station)){//如果某一条线包含了此站,注意由于重写了hashcode方法,只有name相同,即认为是同一个对象
                    Station s = line.get(line.indexOf(station));
                    if(s.prev != null){
                        linkedStaions.add(s.prev);
                    }
                    if(s.next != null){
                        linkedStaions.add(s.next);
                    }
                }
            }
            return linkedStaions;
        }
    
    }
    Subway.java

        com.DBUtil:

          SubwayDBUtil.java

    package com.DBUtil;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class SubwayDBUtil {
        public static String db_url="jdbc:mysql://localhost:3306/subway?useSSL=true&serverTimezone=UTC";//这是连接数据库,userdome是数据库的名称,userUnicode=true&characterEncoding=UTF-8是将字符集设置为utf-8,避免乱码。
        public static String db_user="root";//数据的用户名
        public static String db_password="lty100609";//数据库的密码
        public static Connection getConn()//获取连接,返回Connection类型,必须设置为static这样才能在其他类中使用
        {
            Connection conn=null;
            try
            {
                Class.forName("com.mysql.jdbc.Driver");//加载驱动
                conn=DriverManager.getConnection(db_url,db_user,db_password);//连接数据库
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
            return conn;
        }
        public static void close(Statement state,Connection conn)//关闭函数
        {
            if(state!=null)//只有状态和连接时,先关闭状态 
            {
                try
                {
                    state.close();
                }
                catch(SQLException e)
                {
                    e.printStackTrace();
                }
            }
            if(conn!=null)
            {
                try
                {
                    conn.close();
                }
                catch(SQLException e)
                {
                     e.printStackTrace();
                }
            }
        }
        public static void close(ResultSet rs,Statement state,Connection conn)
        {
            if(rs!=null)//有结果集,状态和连接时,先关闭结果集,在关闭状态,在关闭连接
            {
                try
                {
                    rs.close();
                }
                catch(SQLException e)
                {
                    e.printStackTrace();
                }
            }
            if(state!=null)
                
            {
                try
                {
                    state.close();
                }
                catch(SQLException e)
                {
                    e.printStackTrace();
                }
            }
            if(conn!=null)
            {
                try
                {
                    conn.close();
                }
                catch(SQLException e)
                {
                    e.printStackTrace();
                }
            }
        }
    
    }
    SubwayDBUtil.java

        com.Servlet:

          SeaechServlet.java(最少换乘算法,传参,获取页面参数值)(其实这个类中的最少换乘算法应该放到com.Dao包里比较好)

    package com.Servlet;
    
    import java.io.IOException;
    import java.io.UnsupportedEncodingException;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import com.DBUtil.SubwayDBUtil;
    import com.Bean.*;
    import com.Dao.*;
    
    public class SearchServlet extends HttpServlet {
        
        private static final long serialVersionUID = 1L;
    
        protected void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException, IOException {
            searchSubway1(req, resp);
            searchSubway2(req, resp);
            req.getRequestDispatcher("/search.jsp").forward(req, resp);        
        }
        
        public void searchSubway1(HttpServletRequest req, HttpServletResponse resp) throws UnsupportedEncodingException {//换乘最少
            req.setCharacterEncoding("UTF-8");
            
            String start;
            String end;
            
            start = req.getParameter("start");
            end = req.getParameter("end");
            
            Bean beanstart=new Bean();
            Bean beanend=new Bean();
            List<Bean> list = new ArrayList<>();//存放线路
            
            HttpSession session = req.getSession();
            
            Connection conn = SubwayDBUtil.getConn();
            try {
                Statement stmt = conn.createStatement();
                String sql = "select * from line";
                  ResultSet rs = stmt.executeQuery(sql);
                  
                  while(rs.next()) {
                      if(start.equals(rs.getString("stationname"))) {
                          beanstart.setLineid(rs.getInt("lineid"));
                          beanstart.setStationname(rs.getString("stationname"));
                          beanstart.setTinformation(rs.getInt("tinformation"));
                          beanstart.setOrdnum(rs.getInt("ordnum"));
                      }
                      
                      if(end.equals(rs.getString("stationname"))) {
                          beanend.setLineid(rs.getInt("lineid"));
                          beanend.setStationname(rs.getString("stationname"));
                          beanend.setTinformation(rs.getInt("tinformation"));
                          beanend.setOrdnum(rs.getInt("ordnum"));
                      }    
                  }
                  
                  if(beanstart.getLineid() == beanend.getLineid()) {//在同一条线上
                      if(beanstart.getOrdnum() > beanend.getOrdnum()) {//起始站的order比终点站的order大
                          int startorder = beanstart.getOrdnum();//起始站的order
                          int endorder = beanend.getOrdnum();//终点站的order
                          int lineid = beanstart.getLineid();//线路号
                          
                          String sql1 = "select * from line where ordnum <='"+startorder+"' and ordnum >='"+endorder+"' and lineid ='"+lineid+"' order by ordnum desc";
                          ResultSet rs1 = stmt.executeQuery(sql1);
                          
                          while(rs1.next()) {
                              Bean bean = new Bean();
                              bean.setStationname(rs1.getString("stationname"));
                              list.add(bean);
                          }                      
                          session.setAttribute("list",list);//传值
                      }                  
                      else if(beanstart.getOrdnum() < beanend.getOrdnum()) {//起始站的order比终点站的order小
                          int startorder = beanstart.getOrdnum();//起始站的order
                          int endorder = beanend.getOrdnum();//终点站的order
                          int lineid = beanstart.getLineid();//线路号
                          
                          String sql1 = "select * from line where ordnum >='"+startorder+"' and ordnum <='"+endorder+"' and lineid ='"+lineid+"' order by ordnum asc";
                          ResultSet rs1 = stmt.executeQuery(sql1);
                          
                          while(rs1.next()) {
                              Bean bean = new Bean();
                              bean.setStationname(rs1.getString("stationname"));
                              list.add(bean);
                          }                      
                          session.setAttribute("list",list);//传值
                      }                  
                  }
                  else if(beanstart.getLineid() != beanend.getLineid()) {//不在同一条线上
                      Bean beantemp = new Bean();
                      
                      //以起始站所在线为标准,找换乘站
                      String sql1 = "select * from line where lineid='"+beanstart.getLineid()+"' and tinformation='"+beanend.getLineid()+"'";
                      ResultSet rs1 = stmt.executeQuery(sql1);
                      
                      while(rs1.next()) {
                          beantemp.setLineid(rs1.getInt("lineid"));
                          beantemp.setStationname(rs1.getString("stationname"));
                          beantemp.setTinformation(rs1.getInt("tinformation"));
                          beantemp.setOrdnum(rs1.getInt("ordnum"));
                      }
                      
                      if(beanstart.getOrdnum() > beantemp.getOrdnum()) {//起始站的order比换乘站的order大
                          int startorder = beanstart.getOrdnum();//起始站的order
                          int temporder = beantemp.getOrdnum();//换乘站的order
                          int lineid = beanstart.getLineid();//线路号
                          
                          String sql2 = "select * from line where ordnum <='"+startorder+"' and ordnum >='"+temporder+"' and lineid ='"+lineid+"' order by ordnum desc";
                          ResultSet rs2 = stmt.executeQuery(sql2);
                          
                          while(rs2.next()) {
                              Bean bean = new Bean();
                              bean.setStationname(rs2.getString("stationname"));
                              list.add(bean);
                          }                  
                      }
                      else if(beanstart.getOrdnum() < beantemp.getOrdnum()) {//起始站的order比换乘站的order小
                          int startorder = beanstart.getOrdnum();//起始站的order
                          int temporder = beantemp.getOrdnum();//换乘站的order
                          int lineid = beanstart.getLineid();//线路号
                          
                          String sql2 = "select * from line where ordnum >='"+startorder+"' and ordnum <='"+temporder+"' and lineid ='"+lineid+"' order by ordnum asc";
                          ResultSet rs2 = stmt.executeQuery(sql2);
                          
                          while(rs2.next()) {
                              Bean bean = new Bean();
                              bean.setStationname(rs2.getString("stationname"));
                              list.add(bean);
                          }                      
                      }      
                      
                      //以终点站所在线为标准,找换乘站
                      String sql3 = "select * from line where lineid='"+beanend.getLineid()+"' and tinformation='"+beanstart.getLineid()+"'";
                      ResultSet rs3 = stmt.executeQuery(sql3);
                      
                      while(rs3.next()) {
                          beantemp.setLineid(rs3.getInt("lineid"));
                          beantemp.setStationname(rs3.getString("stationname"));
                          beantemp.setTinformation(rs3.getInt("tinformation"));
                          beantemp.setOrdnum(rs3.getInt("ordnum"));
                      }
                      
                      if(beantemp.getOrdnum() > beanend.getOrdnum()) {//换乘站的order比终点站的order大
                          int temporder = beantemp.getOrdnum();//换乘站的order
                          int endorder = beanend.getOrdnum();//终点站的order
                          int lineid = beanend.getLineid();//线路号
                          
                          String sql2 = "select * from line where ordnum <='"+temporder+"' and ordnum >='"+endorder+"' and lineid ='"+lineid+"' order by ordnum desc";
                          ResultSet rs2 = stmt.executeQuery(sql2);
                          
                          while(rs2.next()) {
                              Bean bean = new Bean();
                              bean.setStationname(rs2.getString("stationname"));
                              list.add(bean);
                          }
                      }                  
                      else if(beantemp.getOrdnum() < beanend.getOrdnum()) {//换乘站的order比终点站的order小
                          int temporder = beantemp.getOrdnum();//换乘站的order
                          int endorder = beanend.getOrdnum();//终点站的order
                          int lineid = beanend.getLineid();//线路号
                          
                          String sql2 = "select * from line where ordnum >='"+temporder+"' and ordnum <='"+endorder+"' and lineid ='"+lineid+"' order by ordnum asc";
                          ResultSet rs2 = stmt.executeQuery(sql2);
                          
                          while(rs2.next()) {
                              Bean bean = new Bean();
                              bean.setStationname(rs2.getString("stationname"));
                              list.add(bean);
                          }
                      }                  
                  
                      session.setAttribute("list",list);//传值                  
                  }          
                  conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        
        public void searchSubway2(HttpServletRequest req, HttpServletResponse resp) throws UnsupportedEncodingException {
            req.setCharacterEncoding("UTF-8");
            
            String start;
            String end;
            
            start = req.getParameter("start");
            end = req.getParameter("end");
            
            List<Bean> list2 = new ArrayList<>();//存放线路
            
            HttpSession session = req.getSession();
            
            Subway sw = new Subway();
            Station s1 = new Station(start);
            Station s2 = new Station(end);
            list2 = sw.calculate(s1, s2);
            
            session.setAttribute("list2",list2);//传值    
        }
        
    }
    SearchServlet.java

    4、整体展示

    5、其他

      在基本做完之后,感觉还有一些功能可以添加,如:(1)点击地图上的站点即可将站点名填进起始站文本框或终点站文本框;(2)设置悬浮窗,点击其中的线路号可只显示其对应线路。

        

  • 相关阅读:
    【codevs1949】兔兔与蛋蛋的游戏
    【codevs1775】那些年
    【codevs3153】取石子
    [codevs1909]英语 博弈论
    spfa及slf优化
    [baoj3224]普通平衡树
    恋爱路上的几个叉
    考研之如何联系导师
    《C++程序设计语言(特别版)》忠告(advice)部分
    一位程序猿送给女朋友的礼物
  • 原文地址:https://www.cnblogs.com/leity/p/10688451.html
Copyright © 2020-2023  润新知