• 地铁管理系统


    地铁线路管理系统

     

    合作人:肖成龙

    设计思想:

    数据库建立了两张表,一张将所有的地铁线路信息储存进去,

    还有一张用来存储六条地铁之间的连通节点。

    通过连通性,判断是否需要换乘线路。

    预估时间:一周

    源程序代码:

    数据库代码:

     Dbutil.java

    package com.hdq.util;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    /**
     * 数据库连接工具
     * @author Hu
     *
     */
    public class DBUtil {
     
     public static String db_url = "jdbc:mysql://localhost:3306/studentlist";
     public static String db_user = "root";
     public static String db_pass = "password";
     
     public static Connection getConn () {
      Connection conn = null;
      
      try {
       Class.forName("com.mysql.jdbc.Driver");//加载驱动
       conn = DriverManager.getConnection(db_url, db_user, db_pass);
      } catch (Exception e) {
       e.printStackTrace();
      }
      
      return conn;
     }
     
     /**
      * 关闭连接
      * @param state
      * @param 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();
       }
      }
     }
     public static void main(String[] args) throws SQLException {
    //  Connection conn = getConn();
    //  PreparedStatement pstmt = null;
    //  ResultSet rs = null;
    //  String sql ="select * from course";
    //  pstmt = conn.prepareStatement(sql);
    //  rs = pstmt.executeQuery();
    //  if(rs.next()){
    //   System.out.println("空");
    //  }else{
    //   System.out.println("不空");
    //  }
     }
    }

     ClassService.java

    package com.hdq.service;
    import java.util.List;
    import com.hdq.dao.ClassDao;
    /**
     * CourseService
     * 服务层
     * @author HDQ
     *
     */
    public class ClassService {
     ClassDao cDao = new ClassDao();
     
     /**
      * 添加
      * @param course
      * @return
      */
     public boolean add(String table,String strList[],String strList1[]) {
      boolean f = cDao.add(table,strList,strList1);
      return f;
     }
     
     /**
      * 删除
      */
     public boolean del(String table,String qian,String hou) {
      return cDao.delete(table,qian,hou);
     }
     
     /**
      * 修改
      * @return 
      */
     public boolean update(String table,String []strlist,String []strlist1,String qian,String hou) {
      return cDao.update(table,strlist,strlist1,qian,hou);
     }
     /**
      * 查找
      * @return 
      * @throws IllegalAccessException 
      * @throws InstantiationException 
      */
     public <T> List<T> search(String table, String []strList, String []strList1,Class<T> clazz) throws InstantiationException, IllegalAccessException {
      return cDao.search(table,strList,strList1,clazz);
     }
     
     /**
      * 由时间查找
      * @return 
      * @throws IllegalAccessException 
      * @throws InstantiationException 
      */
     public <T> List<T> searchByTime(String table, String []strList, String []strList1,String biaoshi,String qian,String hou,Class<T> clazz) throws InstantiationException, IllegalAccessException {
      return cDao.searchByTime(table, strList, strList1, biaoshi, qian, hou, clazz);
     }
     /**
      * 全部数据
      * @return 
      * @throws IllegalAccessException 
      * @throws InstantiationException 
      * @throws ClassNotFoundException 
      */
     public <T> List<T> list(String table,String []strList,Class<T> clazz) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
      return cDao.list(table,strList,clazz);
     }
     
     /**
      * 创建数据库表单
      * @return 
      * @throws IllegalAccessException 
      * @throws InstantiationException 
      */
     public boolean createTable(String table,String []info,String []type,int []size)
     {
      return cDao.createTable(table, info, type, size);
     }
    }

     Linenum.java

    package com.hdq.entity;
    public class Linenum {
     int linenum;
     public int getLinenum() {
      return linenum;
     }
     public void setLinenum(int linenum) {
      this.linenum = linenum;
     }
    }

    Lineinfo.java

    package com.hdq.entity;
    public class LineInfo {
     int linenum;
     String name;
     public int getLinenum() {
      return linenum;
     }
     public void setLinenum(int linenum) {
      this.linenum = linenum;
     }
     public String getName() {
      return name;
     }
     public void setName(String name) {
      this.name = name;
     }
     public LineInfo()
     {
      linenum=-1;
     }
    }

    ClassDao.java

    package com.hdq.dao;
    import java.lang.reflect.Field;
    import java.lang.reflect.Modifier;
    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 com.hdq.util.DBUtil;
    /**
     * 通用类Dao
     * Dao层操作数据
     * @author HDQ
     *
     */
    public class ClassDao {
     /**
      * 添加
      * @return
      */
     public <T> boolean add(String table,String []strList,String []strList1) {
      if(strList.length==0)
       return false;
      String sql = "insert into "+table+"(";
      for(int i=0;i<strList.length;i++)
      {
       if(i!=strList.length-1)
        sql+=strList[i]+",";
       else sql+=strList[i]+")";
      }
      sql+=" values('";
      for(int i=0;i<strList1.length;i++)
      {
       if(i!=strList1.length-1)
        sql+=strList1[i]+"','";
       else sql+=strList1[i]+"')";
      }
      //创建数据库链接
      Connection conn = DBUtil.getConn();
      Statement state = null;
      boolean f = false;
      int a = 0;
      
      try {
       state = conn.createStatement();
       a=state.executeUpdate(sql);
      } catch (Exception e) {
       e.printStackTrace();
      } finally {
       //关闭连接
       DBUtil.close(state, conn);
      }
      
      if (a > 0) {
       f = true;
      }
      return f;
     }
     /**
      * 删除
      * 
      * @return
      */
     
     public boolean delete (String table,String zhixing,String biaoshi) {
      boolean f = false;
      String sql = "delete from "+table+" where "+zhixing+"='" + biaoshi + "'";
      
      Connection conn = DBUtil.getConn();
      Statement state = null;
      int a = 0;
      
      try {
       state = conn.createStatement();
       a = state.executeUpdate(sql);
      } catch (SQLException e) {
       e.printStackTrace();
      } finally {
       DBUtil.close(state, conn);
      }
      
      if (a > 0) {
       f = true;
      }
      return f;
     }
     /**
      * 修改
      
      * @param pass
      */
     public boolean update(String table,String []strlist,String []strlist1,String qian,String hou) {
      String sql = "update "+table+" set ";
      for(int i=0;i<strlist.length;i++)
      {
       if(i!=strlist.length-1)
        sql+=strlist[i]+"='" + strlist1[i] + "',";
       else sql+=strlist[i]+"='" + strlist1[i] + "' where "+qian+"='" + hou + "'";
      }
      Connection conn = DBUtil.getConn();
      Statement state = null;
      boolean f = false;
      int a = 0;
      try {
       state = conn.createStatement();
       a = state.executeUpdate(sql);
      } catch (SQLException e) {
       e.printStackTrace();
      } finally {
       DBUtil.close(state, conn);
      }
      
      if (a > 0) {
       f = true;
      }
      return f;
     }
     
     /**
      * 验证通用类名称是否唯一
      * true --- 不唯一
      
      * @return
      */
     public boolean name(String table,String zhi,String weiyi) {
      boolean flag = false;
      String sql = "select "+zhi+" from "+table+" where "+zhi+" = '" + weiyi + "'";
      Connection conn = DBUtil.getConn();
      Statement state = null;
      ResultSet rs = null;
      
      try {
       state = conn.createStatement();
       rs = state.executeQuery(sql);
       while (rs.next()) {
        flag = true;
       }
      } catch (SQLException e) {
       e.printStackTrace();
      } finally {
       DBUtil.close(rs, state, conn);
      }
      return flag;
     }
     
     
     
     /**
      * 查找
      * @return
      * @throws IllegalAccessException 
      * @throws InstantiationException 
      */
     @SuppressWarnings("deprecation")
     public <T> List<T> search(String table,String []strList,String []strList1,Class<T> clazz) throws InstantiationException, IllegalAccessException {
      String sql = "select * from "+table;
      int i=0,k=0;
      for(String it:strList1)
      {
       if(it!=null&&!it.equals(""))
       {
        if(k==0)
         sql +=" where "+ strList[i]+" like '%" + it + "%'";
        else sql +=" and "+ strList[i]+" like '%" + it + "%'";
        ++k;
       }
       ++i;
      }
      List<T> list = new ArrayList<>();
      Connection conn = DBUtil.getConn();
      Statement state = null;
      ResultSet rs = null;
      try {
       state = conn.createStatement();
       rs = state.executeQuery(sql);
       T bean = null;
       while (rs.next()) {
        bean=clazz.newInstance();
        for(String it:strList)
        {
         Field fs=getDeclaredField(bean, it);
         if(fs==null){
          throw new IllegalArgumentException("Could not find field["+ 
            it+"] on target ["+bean+"]");
         }
         makeAccessiable(fs);
            try{
                fs.set(bean, rs.getObject(it));
            }
            catch(IllegalAccessException e){
                System.out.println("不可能抛出的异常");
            }
        }
        list.add(bean);
       }
      } catch (SQLException e) {
       e.printStackTrace();
      } finally {
       DBUtil.close(rs, state, conn);
      }
      
      return list;
     }
     /**
      * 由时间和条件查找
      * @return
      * @throws IllegalAccessException 
      * @throws InstantiationException 
      */
     @SuppressWarnings("deprecation")
     public <T> List<T> searchByTime(String table,String []strList,String []strList1,String biaoshi,String qian,String hou,Class<T> clazz) throws InstantiationException, IllegalAccessException {
      String sql = "select * from "+table+" where ";
      int i=0,k=0;
      for(String it:strList1)
      {
       if(it!=null&&!it.equals(""))
       {
        sql += strList[i]+" like '%" + it + "%'";
        ++k;
       }
       ++i;
      }
      if(qian!=null&&!qian.equals(""))
      {
       if(k>0)
        sql+=" and "+biaoshi+" Between '"+qian+"' AND '"+hou+"'";
       else sql+=biaoshi+" Between '"+qian+"' AND '"+hou+"'";
      }
      //and shijian Between '"+request.getParameter("shijian1")+"' AND '"+request.getParameter("shijian2")+"'"
      //查询的时间格式例如:2015-10-27 24:00:0
      List<T> list = new ArrayList<>();
      Connection conn = DBUtil.getConn();
      Statement state = null;
      ResultSet rs = null;
      try {
       state = conn.createStatement();
       rs = state.executeQuery(sql);
       T bean = null;
       while (rs.next()) {
        bean=clazz.newInstance();
        for(String it:strList)
        {
         Field fs=getDeclaredField(bean, it);
         if(fs==null){
          throw new IllegalArgumentException("Could not find field["+ 
            it+"] on target ["+bean+"]");
         }
         makeAccessiable(fs);
            try{
                fs.set(bean, rs.getObject(it));
            }
            catch(IllegalAccessException e){
                System.out.println("不可能抛出的异常");
            }
        }
        list.add(bean);
       }
      } catch (SQLException e) {
       e.printStackTrace();
      } finally {
       DBUtil.close(rs, state, conn);
      }
      
      return list;
     }
     
     /**
      * 创建数据库
      * @return
      * @throws ClassNotFoundException 
      * @throws IllegalAccessException 
      * @throws InstantiationException 
      */
     public boolean createTable(String table,String []info,String []type,int []size)
     {
      String sql = "CREATE TABLE "+table+"(";
      String lei[]=new String[] {"char","varchar"};
      int i=0;
      for(String it:info)
      {
       if(!it.equals(""))
       {
        boolean g_trit=false;
        for(String sit:lei)
        {
         if(type[i].toLowerCase().contains(sit.toLowerCase()))
         {
          g_trit=true;
         }
        }
        if(g_trit)
         sql += it+" "+type[i]+"("+size[i]+")";
        else sql += it+" "+type[i];
       }
       
       if(i!=info.length-1)
        sql+=",";
       ++i;
      }
      sql+=")";
      //and shijian Between '"+request.getParameter("shijian1")+"' AND '"+request.getParameter("shijian2")+"'"
      //查询的时间格式例如:2015-10-27 24:00:0
      Connection conn = DBUtil.getConn();
      Statement state = null;
      ResultSet rs = null;
      int a=0;
      boolean f=false;
      try {
       state = conn.createStatement();
       a = state.executeUpdate(sql);
       
      } catch (SQLException e) {
       e.printStackTrace();
      } finally {
       DBUtil.close(rs, state, conn);
      }
      if(a>0)
       f=true;
      return f;
     }
       
     /**
      * 全部数据
      * @return
      * @throws ClassNotFoundException 
      * @throws IllegalAccessException 
      * @throws InstantiationException 
      */
     @SuppressWarnings("deprecation")
     public <T> List<T> list(String table,String []strList,Class<T> clazz) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
      String sql = "select * from "+table;
      List<T> list = new ArrayList<>();
      Connection conn = DBUtil.getConn();
      Statement state = null;
      ResultSet rs = null;
      
      try {
       state = conn.createStatement();
       rs = state.executeQuery(sql);
       T bean = null;
       
       while (rs.next()) {
        bean=clazz.newInstance();
        for(String it:strList)
        {
         Field fs=getDeclaredField(bean, it);
         if(fs==null){
          throw new IllegalArgumentException("Could not find field["+ 
            it+"] on target ["+bean+"]");
         }
         makeAccessiable(fs);
            try{
                fs.set(bean, rs.getObject(it));
            }
            catch(IllegalAccessException e){
                System.out.println("不可能抛出的异常");
            }
        }
        
        list.add(bean);
       }
      } catch (SQLException e) {
       e.printStackTrace();
      } finally {
       DBUtil.close(rs, state, conn);
      }
      
      return list;
     }
     
     //获取field属性,属性有可能在父类中继承 
     public static Field getDeclaredField(Object obj,String fieldName){
         for (Class<?> clazz=obj.getClass(); clazz!=Object.class; clazz=clazz.getSuperclass()){
             try{
                 return clazz.getDeclaredField(fieldName);
             }
             catch(Exception e){
             }
         }
         return null;
     }
     //判断field的修饰符是否是public,并据此改变field的访问权限 
     public static void makeAccessiable(Field field){
         if(!Modifier.isPublic(field.getModifiers())){
             field.setAccessible(true);
         }
     }
    }

    web服务界面代码:

    subway.jsp

    <!DOCTYPE html>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>石家庄地铁线路查询</title>
        <style>
            #dvs
            {
                margin: 20px 20px;
                background:rgb(240,240,240);
                 300px;
                
            }
            /*body
            {
                background: url(image/subway.jpg) ;
                background-position: center;
                            background-size: auto;
                background-repeat: no-repeat;
            }*/
    
    
            .subway-zoomcontainer {
                position: absolute;
                cursor: pointer;
                right: 9px;
                bottom: 83px;
                box-shadow: 1px 2px 1px rgba(0,0,0,.15);
                overflow: hidden;
                border: solid 1px #ccc;
                background: #fff;
            }
            .subway-zoomin-icon {
                position: relative;
                left: 8px;
                top: 8px;
                 10px;
                height: 10px;
                background: url(https://webmap1.bdimg.com/wolfman/static/common/images/api/mapZoom2x.png) 0 0;
                background-size: 40px 10px;
            }
            .subway-zoomin {
                 26px;
                height: 26px;
                border-bottom: solid 1px #ccc;
            }
            .subway-zoomout {
                 26px;
                height: 26px;
            }
            .subway-zoomout-icon {
                position: relative;
                left: 8px;
                top: 8px;
                 10px;
                height: 10px;
                background: url(https://webmap1.bdimg.com/wolfman/static/common/images/api/mapZoom2x.png) -10px 0;
                background-size: 40px 10px;
            }
    
            /*百度地图功能测试*/
            /* body, html{ 100%;height: 100%;margin:0;font-family:"微软雅黑";font-size:14px;}
             #l-map{height:100%;100%;}
             #r-result{100%;}*/
        </style>
        <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script>
        <link rel="stylesheet" href="subway.css">
    </head>
    <body>
        <!-- 百度地图搜索框测试 -->
        <!-- <div id="l-map">
            </div> -->
        <!-- 搜索框结束 -->
        
        <div id="left-panel" class="" style="height: 857px;">
        <form method="post" action="handleSql.jsp">
            <div id="searchbox" class="clearfix">
                <div id="searchbox-container">
                    <div id="sole-searchbox-content" class="searchbox-content" style="display: none;">
                        <input id="sole-input" class="searchbox-content-common" type="text" name="word" autocomplete="off" maxlength="256" placeholder="搜地点、查公交、找路线" value="">
                        <div class="input-clear" title="清空" style="display: none;"></div>
                            <div class="searchbox-content-button right-button route-button loading-button" data-title="路线">
                            </div>
                        </div>
                        <div id="metro-searchbox-content" class="searchbox-content route-searchbox-content metroline">   
                             <div class="route-header">        
                                 <div class="searchbox-content-button right-button cancel-button" data-title="清空">
                                     
                                 </div>        
                                 <div class="searchbox-content-common route-tabs">    
                                     <div class="tab-item metroline-tab" data-index="metroline">        
                                         <i></i>
                                         <span>站点查询</span>    
                                     </div>    
                                     <div class="tab-item metrostation-tab" data-index="metrostation">        
                                         <!-- <i></i><span>站点查询</span>    -->
                                          </div>            
                                          <div class="arrow-wrap">
                                              
                                          </div>        
                                         </div>        
                                         <!-- <div class="searchbox-content-button right-button cancel-button" data-title="清空">
                                             
                                         </div>     -->
                                     </div>    
                                     <div class="routebox">        
                                     
                                         <div class="searchbox-content-common routebox-content metroline-content" style="display: block;">            
                                             <div class="routebox-revert" title="切换起终点">                
                                                 <div class="routebox-revert-icon">                
                                                 </div>            
                                             </div>           
                                              <div class="routebox-inputs">                
                                                  <div class="routebox-input route-start">                    
                                                      <div class="route-input-icon">                    
                                                      </div>                    
                                                      <input name="start" id="sub_start_input" autocomplete="off" maxlength="256" placeholder="输入起点" class="route-start-input" type="text" value="">                    
                                                      <div class="input-clear" title="清空">                   
                                                       </div>               
                                                        </div>               
                                                         <div class="routebox-input route-end">                   
                                                          <div class="route-input-icon">                    
                                                          </div>                    
                                                          <input name="end" id="sub_end_input" autocomplete="off" maxlength="256" placeholder="输入终点" class="route-end-input" type="text" value="">                   
                                                           <div class="input-clear" title="清空">                    
                                                           </div>                
                                                       </div>            
                                                      </div>        
                                                  </div>        
                                                  <div class="searchbox-content-common routebox-content metrostation-content" style="display: none;">            
                                                      <div class="routebox-inputs">                
                                                          <div class="routebox-input route-start">                    
                                                              <div class="route-input-icon">                    
                                                              </div>                    
                                                              <input id="sub_station_input" autocomplete="off" maxlength="256" placeholder="输入站点" class="route-start-input" type="text" value="">                    
                                                              <div class="input-clear" title="清空">                    
                                                              </div>                
                                                          </div>            
                                                      </div>        
                                                  </div>    
                                              </div>
                                         </div>
                                     </div>
                            <Input type="submit" id="search-button" data-title="搜索" data-tooltip="1" value="">
                            <div id="toast-wrapper" class="">
                            <div id="toast" class="warning">
                            <img class="info-tip-img" src="/wolfman/static/common/images/transparent.gif" alt="">
                            
                        </div>
                        
                    </div>
                </div>
                </form>
            <ul id="cards-level0" class="cardlist"></ul>
            <ul id="cards-level1" class="cardlist"></ul>
            <ul id="cards-level2" class="cardlist"></ul>
        </div>
    
    
        <!-- 放大缩小框 -->
        <div class="subway-zoomcontainer" style="z-index:2;user-select: none;">
            <div class="subway-zoomin">
                <div class="subway-zoomin-icon" style="background-position: 0px 0px;" onclick="zoom(1.1)">
                    
                </div>
            </div>
            <div class="subway-zoomout">
                <div class="subway-zoomout-icon" style="background-position: -10px 0px;" onclick="zoom(0.9)">
                    
                </div>
            </div>
        </div>
    
        <img src="Tony.png" id="subwayimage22" style="position:absolute;top:0;z-index:1;user-select: none;"  width="9999" height="9999" onmousemove="on_Mousemove(event)" onmousedown="on_Mousedown(event);" onmouseup="on_Mouseup(event);" draggable="false"> 
        <svg style="user-select: none;" width="9999" height="9999" xmlns="http://www.w3.org/2000/svg" id="svg" class="svgimg" style="position:absolute;top:0;z-index:0;">
         <!-- Created with Method Draw - http://github.com/duopixel/Method-Draw/ -->
         <g>
          <title>background</title>
          <rect fill="#fff" id="canvas_background" height="819" width="1662" y="-1" x="-1"/>
          <g display="none" overflow="visible" y="0" x="0" height="100%" width="100%" id="canvasGrid">
           <rect fill="url(#gridpattern)" stroke-width="0" y="0" x="0" height="100%" width="100%"/>
          </g>
         </g>
         <g transform="scale(1,1) translate(0,0)" id="subwayimage">
          <title>Layer 1</title>
         <line fill="none" stroke-width="1.5" fill-opacity="null" x1="8.757729" y1="286.750008" x2="424.745186" y2="286.750008" id="svg_3" stroke-linejoin="null" stroke-linecap="null" stroke="#e8e819"/>
      <line fill="none" stroke-width="1.5" fill-opacity="null" x1="428.750002" y1="285.749998" x2="429.750002" y2="522.749987" id="svg_7" stroke-linejoin="null" stroke-linecap="null" stroke="#e8e819"/>
      <line fill="none" stroke-width="1.5" fill-opacity="null" x1="430.750012" y1="522.75" x2="1235.916179" y2="518.75" id="svg_8" stroke-linejoin="null" stroke-linecap="null" stroke="#e8e819"/>
      <line fill="none" stroke="#56ffff" stroke-width="1.5" fill-opacity="null" x1="340.75001" y1="321.75" x2="340.75001" y2="631.75" id="svg_9" stroke-linejoin="null" stroke-linecap="null"/>
      <line fill="none" stroke-width="1.5" fill-opacity="null" x1="340.750008" y1="322.75" x2="924.625372" y2="320.75" id="svg_12" stroke-linejoin="null" stroke-linecap="null" stroke="#00ffff"/>
      <line fill="none" stroke-width="1.5" fill-opacity="null" x1="204.750011" y1="397.75" x2="713.750043" y2="392.75" id="svg_13" stroke-linejoin="null" stroke-linecap="null" stroke="#ff0000"/>
      <line fill="none" stroke-width="1.5" fill-opacity="null" x1="711.75001" y1="393.75" x2="759.750009" y2="409.75" id="svg_14" stroke-linejoin="null" stroke-linecap="null" stroke="#ff0000"/>
      <line fill="none" stroke-width="1.5" fill-opacity="null" x1="758.750006" y1="408.75" x2="802.75001" y2="408.75" id="svg_16" stroke-linejoin="null" stroke-linecap="null" stroke="#ff0000"/>
      <line fill="none" stroke-width="1.5" fill-opacity="null" x1="803.75" y1="407.750007" x2="803.75" y2="228.750009" id="svg_18" stroke-linejoin="null" stroke-linecap="null" stroke="#ff0000"/>
      <line fill="none" stroke-width="1.5" fill-opacity="null" x1="802.750011" y1="230.750004" x2="755.750009" y2="187.749999" id="svg_19" stroke-linejoin="null" stroke-linecap="null" stroke="#ff0000" transform="rotate(-2.0042965412139893 779.250000000002,209.24999999999773) "/>
      <line fill="none" stroke="#ff0000" stroke-width="1.5" fill-opacity="null" x1="755.75001" y1="188.75" x2="756.75001" y2="141.75" id="svg_20" stroke-linejoin="null" stroke-linecap="null"/>
      <line fill="none" stroke="#ff0000" stroke-width="1.5" fill-opacity="null" x1="755.75001" y1="142.75" x2="798.75001" y2="142.75" id="svg_22" stroke-linejoin="null" stroke-linecap="null"/>
      <line fill="none" stroke-width="1.5" fill-opacity="null" x1="798.75001" y1="143.749998" x2="799.75001" y2="-14.25" id="svg_24" stroke-linejoin="null" stroke-linecap="null" stroke="#ff0000"/>
      <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="546.999999" y1="272.999999" x2="546.999999" y2="497.999997" id="svg_25" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/>
      <line fill="none" stroke="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="545.999999" y1="272.999999" x2="573.999999" y2="228.999999" id="svg_26" stroke-linejoin="null" stroke-linecap="null"/>
      <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="573.999999" y1="231.999999" x2="572.999999" y2="189.999999" id="svg_28" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/>
      <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="574.999999" y1="190.999999" x2="641.999997" y2="115.000001" id="svg_29" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/>
      <line fill="none" stroke-width="1.5" fill-opacity="null" x1="691.999999" y1="224.999999" x2="691.999999" y2="277.999999" id="svg_30" stroke-linejoin="null" stroke-linecap="null" stroke="#00bf00"/>
      <line fill="none" stroke-width="1.5" fill-opacity="null" x1="640.999998" y1="276.999999" x2="691.999999" y2="276.999999" id="svg_31" stroke-linejoin="null" stroke-linecap="null" stroke="#00bf00"/>
      <line fill="none" stroke-width="1.5" fill-opacity="null" x1="639.999999" y1="276.999998" x2="641.999999" y2="603.999985" id="svg_32" stroke-linejoin="null" stroke-linecap="null" stroke="#00bf00"/>
      <line fill="none" stroke="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="642.999999" y1="116.999999" x2="643.999999" y2="74.999999" id="svg_33" stroke-linejoin="null" stroke-linecap="null"/>
      <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" opacity="0.5" x1="644.999999" y1="74.999999" x2="1025.969094" y2="76.999999" id="svg_34" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/>
      <line fill="none" stroke-width="1.5" fill-opacity="null" x1="338.000012" y1="603.22223" x2="643.999986" y2="602.22223" id="svg_35" stroke-linejoin="null" stroke-linecap="null" stroke="#00ff00"/>
      <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="474.999998" y1="499.222229" x2="547.999999" y2="499.222229" id="svg_36" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/>
      <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="474.000966" y1="498.222232" x2="474.000966" y2="565.22223" id="svg_37" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/>
      <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="473.001931" y1="566.22223" x2="506" y2="567.22223" id="svg_38" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/>
      <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="506.999999" y1="567.222226" x2="506.999999" y2="680.22223" id="svg_39" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/>
      <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="507.999998" y1="678.000009" x2="678.999998" y2="678.000009" id="svg_40" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/>
      <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="677" y1="675.444455" x2="677" y2="816.444464" id="svg_44" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/>
      <line fill="none" stroke="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="677.999999" y1="814.222237" x2="876.999999" y2="813.222237" id="svg_45" stroke-linejoin="null" stroke-linecap="null"/>
      <line fill="none" stroke="#00ff00" stroke-width="1.5" fill-opacity="null" x1="340.999999" y1="605.555563" x2="262.999999" y2="535.555563" id="svg_46" stroke-linejoin="null" stroke-linecap="null"/>
      <line fill="none" stroke="#0000ff" stroke-width="1.5" fill-opacity="null" x1="265.999999" y1="503.555563" x2="390.999999" y2="505.555563" id="svg_47" stroke-linejoin="null" stroke-linecap="null"/>
      <line fill="none" stroke-width="1.5" fill-opacity="null" x1="390.999999" y1="505.555562" x2="390.999999" y2="455.555563" id="svg_48" stroke-linejoin="null" stroke-linecap="null" stroke="#0000bf"/>
      <line fill="none" stroke-width="1.5" fill-opacity="null" x1="391.999998" y1="455.555563" x2="753.000001" y2="455.555563" id="svg_49" stroke-linejoin="null" stroke-linecap="null" stroke="#005fbf"/>
      <line fill="none" stroke-width="1.5" fill-opacity="null" x1="749.999997" y1="456.555561" x2="781.999998" y2="408.555557" id="svg_50" stroke-linejoin="null" stroke-linecap="null" stroke="#005fbf"/>
      <line fill="none" stroke="#005fbf" stroke-width="1.5" fill-opacity="null" x1="782.999999" y1="409.555563" x2="784.999999" y2="635.555563" id="svg_51" stroke-linejoin="null" stroke-linecap="null"/>
      <ellipse fill="#000" stroke-width="1.5" cx="23.999999" cy="286.999999" id="svg_52" rx="4" ry="5"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="6.978282" y="278.125815" id="svg_53" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.4274840133538049,0,0,0.49652937054634094,11.41375450861757,135.19759746547788) " stroke="#000">鹿泉一中</text>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="65.999999" cy="286.999999" id="svg_55" rx="4" ry="5"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="45.373584" y="318.018471" id="svg_57" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.42949756979942316,0,0,0.5261452794075012,29.51215553283691,138.71865515969694) " stroke="#000">鹿泉医院</text>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="103.499999" cy="287.499999" id="svg_58" rx="4.5" ry="4.5"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="102.580619" y="263.508617" id="svg_60" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.45255220560829534,0,0,0.662858346304631,40.19398863447108,101.01990253497603) " stroke="#000">鹿泉中心</text>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="144.499998" cy="287.499999" id="svg_61" rx="5.5" ry="4.5" stroke="#000"/>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="229.999999" cy="224.999999" id="svg_62"/>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="182.999999" cy="287" id="svg_63" rx="6" ry="4" stroke="#000"/>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="224.499999" cy="286.499999" id="svg_64" rx="4.5" ry="5.5"/>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="263.499999" cy="286.499999" id="svg_65" rx="5.5" ry="3.5" stroke="#000"/>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="313.499999" cy="286.999999" id="svg_66" rx="3.5" ry="4" stroke="#000"/>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="367.999999" cy="286.499999" id="svg_67" rx="5" ry="4.5" stroke="#000"/>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="426.999999" cy="286.499999" id="svg_68" rx="5" ry="4.5"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="113.525258" y="304.999999" id="svg_69" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.5095589571441436,0,0,0.5340622479145443,70.75605791345589,146.23171817854396) " stroke="#000">北海山</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="153.428338" y="283.124303" id="svg_70" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.5316401124000549,0,0,0.6274738311767578,82.43134021759033,100.42490610480309) " stroke="#000">南新城</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="215.999999" y="300.999999" id="svg_71" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.518863929258747,0,0,0.5828509302834969,92.84869269010156,132.15302958513118) " stroke="#000">大郭镇</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="257.999999" y="266.999999" id="svg_72" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.531300482240013,0,0,0.6650809049606323,108.79399648471028,98.29637623764575) " stroke="#000">西三庄</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="266.195882" y="403.188314" id="svg_73" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.593551516532898,0,0,0.5678108930587769,125.99902987480164,78.45582881942391) " stroke="#000">水上公园</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="323.999999" y="213.604117" id="svg_74" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.5908783417995345,0,0,0.4932380938363247,156.93890582558458,166.36538727592077) " stroke="#000">高柱</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="409.745273" y="342.075136" id="svg_75" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.6243754323861133,0,0,0.5317951440811157,151.72563770056468,89.6758613102138) " stroke="#000">柏林路</text>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="429.499999" cy="320.777781" id="svg_76" rx="3.5" ry="4" transform="rotate(150.56007385253906 429.5,320.7777709960938) "/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="392.999999" y="191.777781" id="svg_77" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.6282671689987182,0,0,0.6038267016410828,184.0910025835037,221.16994393244383) " stroke="#000">市庄</text>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="385.999997" cy="321.777781" id="svg_78" rx="6" ry="4" stroke="#000"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="365.072888" y="341.516546" id="svg_80" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.4330810010433197,0,0,0.5751209500439103,210.89386761188507,143.77809940149177) " stroke="#000">火车站北</text>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="341.999999" cy="323.277781" id="svg_81" rx="4" ry="3.5" stroke="#000"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="301.890896" y="316.360535" id="svg_82" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.5021069645881653,0,0,0.5678108930587769,137.41847777366638,150.5368683114648) " stroke="#000">和平西路</text>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="340.499999" cy="363.777687" id="svg_84" rx="3.5" ry="5" stroke="#000"/>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="341.999999" cy="397.277781" id="svg_85" rx="4" ry="4.5"/>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="310.499999" cy="397.777782" id="svg_87" rx="3.5" ry="4" stroke="#000"/>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="277.999999" cy="397.277781" id="svg_88" rx="4" ry="3.5" stroke="#000"/>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="244" cy="397.777776" id="svg_89" rx="4" ry="4" stroke="#000"/>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="204.999998" cy="398.277781" id="svg_90" rx="5" ry="4.5" stroke="#000"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="191.902536" y="397.103708" id="svg_91" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.6489189863204956,0,0,0.5317951440811157,55.470800161361694,176.19133984297514) " stroke="#000">上庄</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="136.999999" y="422.777781" id="svg_92" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.541362689660481,0,0,0.6481665786687394,152.41833927082087,145.80502269391235) " stroke="#000">西王</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="380.785432" y="310.36219" id="svg_93" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.48190700171947043,0,0,0.49856112721208845,71.35371248145269,231.39091786145127) " stroke="#000">法医医院</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="380.851183" y="376.117976" id="svg_94" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.4969634097944683,0,0,0.5674911127816953,94.06428106636382,204.73437038335672) " stroke="#000">军医医院</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="490.206265" y="385.092941" id="svg_95" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.4815846631121872,0,0,0.5155719481236503,104.38777184118646,217.2121037854659) " stroke="#000">和平医院</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="572.994236" y="278.767862" id="svg_96" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.45024311542510986,0,0,0.5678108930587769,83.01328957080841,208.8823977485299) " stroke="#000">河北二建</text>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="385.499999" cy="395.277781" id="svg_97" rx="5.5" ry="4.5" stroke="#000"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="681.010904" y="336.37766" id="svg_98" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.4127495288848877,0,0,0.5859964181326838,86.25241294503212,196.20553576949595) " stroke="#000">烈士陵园</text>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="340.499999" cy="437.222227" id="svg_99" rx="5.5" ry="5"/>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="339.999999" cy="473.722227" id="svg_100" rx="5" ry="4.5" stroke="#000"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="337.729133" y="450.196827" id="svg_101" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.46062146153900907,0,0,0.4773196660918935,132.2895832066389,226.53763671107066) " stroke="#000">益友百货</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="175.999999" y="507.222227" id="svg_102" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.5581445693969727,0,0,0.49577939510345453,190.7665557861328,224.54699360765517) " stroke="#000">审计厅</text>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="340.499999" cy="504.722227" id="svg_105" rx="5.5" ry="4.5"/>
      <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="336.999999" y="522.222227" id="svg_106" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">碧海云天</text>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="304.999995" cy="504.722227" id="svg_107" rx="4" ry="4.5" stroke="#000"/>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="264.499999" cy="503.722227" id="svg_108" rx="3.5" ry="4.5" stroke="#000"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="282.999999" y="519.222227" id="svg_109" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" stroke="#000">创业园</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="239.999999" y="516.756579" id="svg_110" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(1,0,0,1.0750292539596558,0,-37.472423024475574) " stroke="null">西岗头</text>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="266.000964" cy="536.722227" id="svg_111" rx="6.000966" ry="5.5" stroke="null"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="215.999999" y="548.222227" id="svg_113" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">碧水蓝湾</text>
      <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="340.999999" cy="552.722227" id="svg_114" rx="6" ry="5.5"/>
      <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="364.999999" cy="567.222227" id="svg_115"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="346.999999" y="558.222227" id="svg_116" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">五星花园</text>
      <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="298.499999" cy="568.722227" id="svg_117" rx="5.5" ry="4.5"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="260.999999" y="584.222227" id="svg_118" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">东良厢</text>
      <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="340.499999" cy="604.222227" id="svg_119" rx="3.5" ry="5"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="286.999999" y="615.222227" id="svg_120" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" stroke="null">华一医院</text>
      <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="340.999999" cy="629.722227" id="svg_121" rx="5" ry="4.5"/>
      <text style="cursor: move;" fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="306.999999" y="644.000009" id="svg_123" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">滨河街头</text>
      <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="415.999999" cy="602.500009" id="svg_124" rx="4" ry="4.5"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="397.999999" y="622.000009" id="svg_125" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">滨河街</text>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="506.499999" cy="602.00001" id="svg_126" rx="5.5" ry="5" stroke="null"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="468.999999" y="617.000009" id="svg_127" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">塔谈南</text>
      <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="507.499999" cy="646.000009" id="svg_128" rx="4.5" ry="4"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="512.999999" y="672.502548" id="svg_129" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(1,0,0,1.0280837222424697,0,-39.12820605410744) " stroke="null">南位</text>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="505.999999" cy="678.500009" id="svg_130" rx="4" ry="4.5" stroke="null"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="494.999999" y="696.000009" id="svg_131" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">嘉华</text>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="555.499999" cy="677.500023" id="svg_132" rx="3.5" ry="3.5" stroke="null"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="523.999999" y="697.000009" id="svg_133" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">河北科技大学</text>
      <ellipse fill="#020202" stroke-width="1.5" cx="628.999998" cy="679.000005" id="svg_137" rx="4" ry="4" stroke="null"/>
      <ellipse fill="#020202" stroke-width="1.5" cx="638.999999" cy="715.000009" id="svg_138"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="610.999999" y="698.000009" id="svg_139" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">东尹村</text>
      <ellipse fill="#020202" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="677.499999" cy="677.500009" id="svg_140" rx="4.5" ry="3.5"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="690.999999" y="691.000009" id="svg_141" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">楼底</text>
      <ellipse fill="#000" stroke-width="1.5" cx="677.499999" cy="747.722237" id="svg_142" rx="5.5" ry="5.5"/>
      <ellipse fill="#000" stroke-width="1.5" cx="676.999999" cy="786.222237" id="svg_143" rx="5" ry="4"/>
      <text fill="#000000" stroke-width="0" x="685.999999" y="752.222237" id="svg_144" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">于底</text>
      <text fill="#000000" stroke-width="0" x="686.999999" y="790.222237" id="svg_145" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">留营</text>
      <ellipse fill="#000" stroke-width="1.5" cx="676.999999" cy="814.222237" id="svg_146" rx="4" ry="5" transform="rotate(-17.003820419311523 677,814.2222290039059) "/>
      <ellipse fill="#000" stroke-width="1.5" cx="762.499999" cy="814.722239" id="svg_147" rx="4.5" ry="4.5" stroke="null"/>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="873.999999" cy="813.222237" id="svg_148" rx="5" ry="6"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="673.999999" y="832.222237" id="svg_150" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">油通村</text>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="743.999999" y="831.222237" id="svg_151" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">栾城西</text>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="862.999999" y="830.222237" id="svg_152" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">栾城</text>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="506.999999" cy="569.555563" id="svg_153" rx="6" ry="5"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="513.999999" y="573.555563" id="svg_154" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">塔谈</text>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="473.001931" cy="522.055563" id="svg_155" rx="5" ry="4.5"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="431.999999" y="540.555563" id="svg_156" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">火车站</text>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="428.999999" cy="493.555563" id="svg_157" rx="5" ry="5"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="430.999999" y="496.555563" id="svg_158" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">中兴路</text>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="428.999999" cy="454.055563" id="svg_159" rx="6" ry="5.5"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="375.94493" y="451.554597" id="svg_160" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">槐安大桥</text>
      <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="428.999999" cy="428.06041" id="svg_161" rx="4" ry="4.5" stroke="null"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="432.996134" y="433.557495" id="svg_162" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">十一中</text>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="428.991304" y="409.552664" id="svg_163" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">新百广场</text>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="428.999999" cy="395.055563" id="svg_164" rx="5" ry="5.5"/>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="428.499999" cy="362.555563" id="svg_165" rx="4.5" ry="4"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="430.999999" y="366.555563" id="svg_166" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">市二中</text>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="556.999999" cy="601.555563" id="svg_167" rx="4" ry="5"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="542.999999" y="616.555563" id="svg_168" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">南栾</text>
      <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="594.499999" cy="601.555563" id="svg_169" rx="4.5" ry="6" stroke="null"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="576.999999" y="616.555563" id="svg_170" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">涂料厂</text>
      <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="640.999999" cy="601.055563" id="svg_171" rx="4" ry="3.5" stroke="null"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="644.999999" y="614.555563" id="svg_172" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">赵卜口</text>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="500.499999" cy="522.055563" id="svg_173" rx="4.5" ry="5.5"/>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="533.999999" cy="523.055563" id="svg_174" rx="4" ry="4.5"/>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="570.999999" cy="522.055563" id="svg_175" rx="5" ry="4.5"/>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="613.999999" cy="520.555563" id="svg_176" rx="4" ry="5"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="481.999999" y="540.555563" id="svg_177" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">金街村</text>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="514.999999" y="516.555563" id="svg_178" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">印刷二厂</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="539.370951" y="538.555563" id="svg_179" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(1.0378473997116089,0,0,1,-3.7421616464853287,0) " stroke="null">塔冢</text>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="601.999999" y="536.555563" id="svg_180" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">裕华</text>
      <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="642.499998" cy="522.555563" id="svg_181" rx="4.5" ry="5" stroke="null"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="633.988405" y="541.561359" id="svg_182" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">南王</text>
      <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="502.999515" cy="500.056044" id="svg_183" rx="4.001449" ry="3.500483" stroke="null"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="484.467594" y="490.918269" id="svg_184" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">东三教</text>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="546.527504" cy="497.925032" id="svg_185" rx="5.004831" ry="5.004831"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="550.531361" y="498.925999" id="svg_186" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">东岗头</text>
      <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="549.530403" y="450.879628" id="svg_188" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">新世隆</text>
      <ellipse fill="#000" stroke-width="1.5" cx="546.527516" cy="454.883489" id="svg_190" rx="5.004831" ry="4.003865"/>
      <ellipse fill="#000" stroke-width="1.5" cx="469.453112" cy="453.38204" id="svg_191" rx="4.003865" ry="4.504348"/>
      <ellipse fill="#000" stroke-width="1.5" cx="512.494655" cy="454.383006" id="svg_192" rx="4.003865" ry="4.504348" stroke="null"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="455.439587" y="446.875753" id="svg_193" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">裕隆</text>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="485.468574" y="451.880589" id="svg_194" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">人防大厦</text>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="546.527504" cy="426.856437" id="svg_195" rx="5.004831" ry="4.003865"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="551.532327" y="429.859333" id="svg_196" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">河北大戏院</text>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="546.027021" cy="393.824555" id="svg_197" rx="4.504348" ry="4.003865"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="523.505274" y="407.838084" id="svg_198" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">北国商城</text>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="463.947798" cy="394.825521" id="svg_199" rx="4.504348" ry="4.003865" transform="rotate(-8.515549659729004 463.9478149414066,394.8255310058595) "/>
      <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="507.990308" cy="393.824555" id="svg_200" rx="4.504348" ry="4.003865"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="448.432829" y="387.818752" id="svg_201" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">大石桥</text>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="487.470491" y="387.818756" id="svg_202" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">市招待所</text>
      <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="486.469536" cy="321.977427" id="svg_203" rx="4.003865" ry="4.003865"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="464.448291" y="316.972589" id="svg_204" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">军械学院</text>
      <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="547.52847" cy="321.977427" id="svg_205" rx="5.004831" ry="5.004831"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="553.53427" y="315.971636" id="svg_207" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">蓝天圣木</text>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="548.028953" cy="355.009309" id="svg_208" rx="4.504348" ry="4.003865" stroke="null"/>
      <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="551.532349" y="358.01221" id="svg_209" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">长安公园</text>
      <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="571.551657" cy="393.546505" id="svg_210" rx="3.002898" ry="3.503381"/>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="611.590302" cy="394.046997" id="svg_211" rx="4.003865" ry="4.003867" stroke="null"/>
      <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="549.530398" y="386.039262" id="svg_213" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">省博物馆</text>
      <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="585.565171" y="408.060512" id="svg_214" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">河北医大</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" cx="589.068565" cy="322.47791" id="svg_215" rx="3.503381" ry="4.504348"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" x="572.552632" y="335.990957" id="svg_217" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">常青园</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" cx="639.617354" cy="320.97646" id="svg_218" rx="4.003865" ry="4.003865"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" x="617.5961" y="316.972593" id="svg_219" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">建华市场</text>
      <ellipse fill="#000" stroke-width="1.5" cx="640.618307" cy="359.513667" id="svg_220" rx="3.002894" ry="3.503383" stroke="#000000"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" x="643.621248" y="363.01704" id="svg_221" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">长安医院</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="639.617354" cy="393.546505" id="svg_222" rx="4.003865" ry="4.504348"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="622.600919" y="386.039262" id="svg_223" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">建百大楼</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="667.143923" cy="394.547471" id="svg_224" rx="3.503381" ry="4.504348"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="648.626038" y="412.064383" id="svg_225" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">艺术学校</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="694.170008" cy="394.046988" id="svg_226" rx="2.502415" ry="3.002898"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="680.65698" y="388.041193" id="svg_227" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">谈固</text>
      <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="714.18934" cy="393.04601" id="svg_228" rx="2.502409" ry="3.002899" stroke="#000000"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="710.68595" y="388.041192" id="svg_229" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">白佛口</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="573.55359" cy="455.105922" id="svg_230" rx="3.002898" ry="4.003865"/>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="611.089819" cy="456.106888" id="svg_232" rx="3.503381" ry="4.003865" transform="rotate(34.604347229003906 611.0898437499999,456.10687255859375) "/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="551.532328" y="474.124278" id="svg_233" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.8376125693321228,0,0,0.8965385556221008,89.37905676104128,47.591964461526004) " stroke="#000000">石门公园</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="593.740997" y="473.002796" id="svg_234" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.8782094717025757,0,0,1.0333660371708502,73.00771278329194,-16.100229403334858) " stroke="#000000">省地震局</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="641.118803" cy="455.606405" id="svg_235" rx="4.504348" ry="4.504348"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="642.372324" y="471.236893" id="svg_236" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.8014817833900452,0,0,0.8965385556221008,127.54795417189598,49.17843431824622) " stroke="#000000">东明商城</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="641.619286" cy="425.577421" id="svg_237" rx="4.003865" ry="4.504348"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="646.62412" y="433.084667" id="svg_238" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">儿童医院</text>
      <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="681.657939" cy="456.10687" id="svg_239" rx="3.002903" ry="4.003867" stroke="#000000"/>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="723.198026" cy="456.106888" id="svg_240" rx="4.504348" ry="4.003865"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="661.638609" y="454.104957" id="svg_242" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">国际城</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="697.673397" y="449.100123" id="svg_243" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.7739247408284767,0,0,1.0532593947250035,165.2605724980005,-23.222637915761684) " stroke="#000000">二十里铺</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="641.118803" cy="493.142634" id="svg_244" rx="4.504348" ry="4.003865"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="645.623181" y="496.145532" id="svg_246" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.8164405471893446,0,0,0.8458039164543152,118.44023293112517,77.31050842836521) " stroke="#000000">经济学院</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="672.148753" cy="521.169686" id="svg_248" rx="3.503381" ry="4.003865"/>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="696.17194" cy="522.170652" id="svg_249" rx="2.502415" ry="3.002898"/>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="735.209619" cy="521.169686" id="svg_250" rx="3.503381" ry="3.002898"/>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="784.256959" cy="521.169686" id="svg_251" rx="3.503381" ry="4.003865"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="662.639575" y="536.184179" id="svg_252" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">卓达</text>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="687.66374" y="517.165821" id="svg_253" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">位同</text>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="716.691763" y="537.185144" id="svg_254" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">中仰陵</text>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="770.743914" y="539.187077" id="svg_255" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">南豆</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="782.75551" cy="470.620897" id="svg_256" rx="4.003865" ry="3.503381"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="785.758408" y="475.125243" id="svg_257" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">北豆</text>
      <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="781.254061" cy="410.562931" id="svg_258" rx="4.504348" ry="6.506279" stroke="#000000"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="760.734255" y="400.052785" id="svg_260" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">海世界</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="803.275316" cy="407.059548" id="svg_261" rx="4.504348" ry="4.003865"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="791.764205" y="423.075005" id="svg_262" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">卓达星辰</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="803.775799" cy="363.017038" id="svg_263" rx="4.003865" ry="4.003865"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="812.784498" y="371.024766" id="svg_264" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">石家庄东</text>
      <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="802.774837" cy="321.476942" id="svg_265" rx="3.002899" ry="4.504346" stroke="#000000"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="766.740049" y="335.990953" id="svg_266" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">东杜庄</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="680.156482" cy="319.975494" id="svg_267" rx="3.503381" ry="4.003865" transform="rotate(-91.8455581665039 680.156494140625,319.97549438476557) "/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="661.638606" y="333.989019" id="svg_269" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">南翟营</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="718.193195" cy="320.475978" id="svg_270" rx="3.503381" ry="3.503381"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="702.67822" y="334.989985" id="svg_271" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">土贤庄</text>
      <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="761.234745" cy="319.975495" id="svg_272" rx="2.50242" ry="3.002898" stroke="#000000"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="743.717831" y="316.972597" id="svg_273" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">西兆通</text>
      <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="849.820241" cy="320.47598" id="svg_274" rx="4.003865" ry="4.504348" stroke="#000000"/>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="923.391251" cy="319.975494" id="svg_275" rx="4.504348" ry="5.004831"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="907.876275" y="336.991918" id="svg_276" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">东五女</text>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="834.80575" y="334.989984" id="svg_277" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">南杨庄</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="804.276282" cy="272.930086" id="svg_278" rx="3.503381" ry="4.003865"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="817.789325" y="278.935883" id="svg_280" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">东兆通</text>
      <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="803.275327" cy="230.889509" id="svg_281" rx="3.503385" ry="5.004831" stroke="#000000"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="774.747784" y="241.900136" id="svg_282" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">西庄</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="639.617354" cy="277.434434" id="svg_284" rx="3.002898" ry="3.503381"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="598.577743" y="283.940715" id="svg_285" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">北翟营</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="691.667592" cy="275.432502" id="svg_286" rx="4.003865" ry="3.503381"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="694.670493" y="280.937816" id="svg_287" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">高营镇</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="691.667592" cy="227.886611" id="svg_288" rx="4.003865" ry="3.002898"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="701.677246" y="234.893374" id="svg_289" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">十里镇</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="547.52847" cy="273.430569" id="svg_290" rx="5.004831" ry="3.503381"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="552.533303" y="282.939748" id="svg_291" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">运河桥</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="573.053107" cy="227.886611" id="svg_292" rx="3.503381" ry="3.002898"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="579.55939" y="235.89434" id="svg_293" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">铁道大学</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="573.55359" cy="191.184514" id="svg_294" rx="5.004831" ry="4.003865"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="581.561325" y="199.192243" id="svg_295" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">西古城</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="600.079192" cy="162.156497" id="svg_297" rx="4.504348" ry="4.003865"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="606.585473" y="174.16809" id="svg_298" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">市农科院</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="627.105277" cy="133.628962" id="svg_299" rx="3.503381" ry="3.503381"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="633.61156" y="140.135243" id="svg_300" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">神学院</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="643.120735" cy="102.098529" id="svg_301" rx="4.504348" ry="4.003865"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="652.629912" y="108.104326" id="svg_302" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">西关</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="756.730391" cy="160.154564" id="svg_303" rx="4.003865" ry="4.003865"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="725.700437" y="169.163259" id="svg_304" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">临济</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="778.251163" cy="141.136208" id="svg_305" rx="3.503381" ry="4.003865"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="751.725569" y="133.128479" id="svg_306" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">行政中心</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="799.271451" cy="112.10819" id="svg_307" rx="4.504348" ry="4.003865"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="805.777734" y="117.11302" id="svg_308" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" stroke="#000000">罗家庄南</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="642.119769" cy="75.072443" id="svg_309" rx="4.504348" ry="3.002898"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="611.590308" y="71.06858" id="svg_311" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">正定</text>
      <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="668.645372" cy="75.072443" id="svg_312" rx="3.002898" ry="2.001932" stroke="#000000"/>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="708.183534" cy="75.072443" id="svg_313" rx="3.503381" ry="3.002898"/>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="746.220247" cy="75.072444" id="svg_314" rx="3.503381" ry="4.003865"/>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="777.250197" cy="75.572926" id="svg_315" rx="3.503381" ry="3.503381" transform="rotate(-19.983339309692383 777.2501831054686,75.57292938232423) "/>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="799.771934" cy="76.07341" id="svg_316" rx="3.002898" ry="4.003865"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="654.63184" y="53.051188" id="svg_317" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.6310911178588865,0,0,1.1429800318956038,234.08095569908622,6.064623812149378) " stroke="#000000">石家庄学院</text>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="694.67049" y="69.066649" id="svg_318" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">北关</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="722.028133" y="92.089297" id="svg_319" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.8579109907150269,0,0,0.8965385556221008,102.10205387510359,7.064776701236042) " stroke="#000000">天元湘西</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="759.733263" y="66.063749" id="svg_320" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.9008024982113554,0,0,0.8448078036308289,75.10194451922942,11.062743675987804) " stroke="#000000">天元湖</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="801.773877" y="88.085004" id="svg_321" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.8697400689125061,0,0,1,104.29342794977129,0) " stroke="#000000">罗家庄</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="853.824105" cy="75.072443" id="svg_322" rx="3.002898" ry="3.002898"/>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="897.866615" cy="75.072443" id="svg_323" rx="3.002898" ry="3.002898"/>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="941.909124" cy="74.57196" id="svg_324" rx="3.002898" ry="3.503381"/>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="989.455015" cy="77.074376" id="svg_325" rx="3.503381" ry="4.003865"/>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="1025.489796" cy="77.574859" id="svg_326" rx="2.502415" ry="3.503381"/>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="799.771934" cy="56.054086" id="svg_328" rx="3.002898" ry="2.001932"/>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="799.271451" cy="38.036696" id="svg_329" rx="2.502415" ry="3.002898"/>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="805.777722" y="62.059883" id="svg_330" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.8808890581130981,0,0,1,95.84336383268237,0) " stroke="#000000">罗家庄北</text>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="806.778709" y="42.040558" id="svg_331" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">侯家庄</text>
      <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="798.770968" cy="20.019306" id="svg_332" rx="3.002898" ry="3.002898"/>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="807.779682" y="27.026065" id="svg_335" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">树路</text>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="838.809613" y="72.069541" id="svg_336" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">诸福屯</text>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="884.854064" y="71.068579" id="svg_337" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">姚村</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="925.893694" y="71.068578" id="svg_338" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" stroke="#000000">蔡家岗</text>
      <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="969.93616" y="72.069541" id="svg_339" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">北白皮</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="1014.97967" y="72.069545" id="svg_340" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" stroke="#000">只都</text>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="822.126851" cy="521.558953" id="svg_341" rx="4.003865" ry="4.504348"/>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="871.174191" cy="520.057504" id="svg_342" rx="4.003865" ry="5.004831"/>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="932.233125" cy="520.057504" id="svg_343" rx="5.004831" ry="5.004831"/>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="972.27177" cy="520.057504" id="svg_344" rx="4.003865" ry="4.003865"/>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="1062.358721" cy="519.056538" id="svg_345" rx="5.004831" ry="5.004831"/>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="784.090138" cy="562.598564" id="svg_346" rx="5.004831" ry="5.505314"/>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="784.090138" cy="595.129964" id="svg_347" rx="4.003865" ry="4.003865"/>
      <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="786.092069" cy="635.669095" id="svg_348" rx="6.005796" ry="5.505314" stroke="#000"/>
      <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="789.094968" y="600.134794" id="svg_350" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">工农路</text>
      <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="790.095941" y="565.10098" id="svg_351" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">东仰陵</text>
      <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="805.110429" y="539.075861" id="svg_352" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">韩通</text>
      <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="850.153902" y="536.072961" id="svg_353" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">北乐乡</text>
      <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="917.218631" y="537.073929" id="svg_354" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">南席</text>
      <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="954.254379" y="537.073927" id="svg_355" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">南席东</text>
      <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="1041.338431" y="538.074896" id="svg_356" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">藁城西</text>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="1105.900748" cy="518.556055" id="svg_357" rx="4.504348" ry="4.504348"/>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="1157.450503" cy="518.556055" id="svg_358" rx="4.003865" ry="4.504348"/>
      <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="1232.522963" cy="518.055572" id="svg_359" rx="5.004831" ry="5.004831"/>
      <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="1214.505573" y="541.07779" id="svg_360" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">工业园</text>
      <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="1093.388672" y="538.074891" id="svg_361" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">藁城</text>
      <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="1141.435048" y="536.072963" id="svg_362" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">藁城东</text>
      <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="795.100762" y="638.171507" id="svg_363" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">郄马</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="135.751262" y="408.128657" id="svg_364" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-style="italic" font-weight="bold" transform="matrix(1.323177665479534,0,0,2.240630644060161,-55.21473357696062,-507.71592987101945) " stroke="#000">一号线</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="265.656498" y="684.755763" id="svg_365" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-weight="bold" font-style="italic" transform="matrix(1.5315284729003906,0,0,1.7718292474746704,-116.98609483242035,-542.8492174465209) " stroke="#000">五号线</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="970.937142" y="321.087678" id="svg_366" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-style="italic" font-weight="bold" transform="matrix(1.495351626744423,0,0,1.800472932482904,-508.79553720948513,-260.92749635914345) " stroke="#000">五号线</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="772.612192" y="23.155663" id="svg_367" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-weight="bold" font-style="italic" transform="matrix(1.2898725271224976,0,0,1.744183897972107,-251.8494042288512,-9.744157914072275) " stroke="#000">一号线</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="166.750789" y="595.474795" id="svg_368" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-weight="bold" font-style="italic" transform="matrix(1.4374249470139944,0,0,2.0201489091609233,-50.89796812457011,-629.1003914656308) " stroke="#000">四号线</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="474.294909" y="172.551198" id="svg_369" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-weight="bold" font-style="italic" transform="matrix(1.9909437202542648,0,0,1.6511370186348984,-297.1530456625842,-74.43033276948424) " stroke="#000">四号线</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="181.180804" y="504.691205" id="svg_370" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-weight="bold" font-style="italic" transform="rotate(-1.686640977859497 211.4925231933589,500.616546630859) matrix(1.6718876414088293,0,0,1.8462280011996268,-122.86901496428285,-422.74901314991126) " stroke="#000">六号线</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="801.467225" y="665.012241" id="svg_371" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="rotate(-4.6771039962768555 828.464843749997,657.8839111328131) matrix(1.4308805400142246,0,0,1.786565288425906,-345.16096890320233,-521.435148001328) " stroke="#000" font-weight="bold" font-style="italic">六号线</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="920.888836" y="870.618091" id="svg_372" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-weight="bold" font-style="italic" transform="rotate(-5.417753219604492 919.7630004882803,830.1729736328117) matrix(1.5495148384528639,0,0,2.322592209137838,-537.1188968088334,-1180.662874606645) " stroke="#000">二号线</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="1012.786558" y="115.330423" id="svg_373" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-style="italic" font-weight="bold" transform="matrix(1.6311510801315308,0,0,1.8007729053497314,-657.0381361525506,-89.16105818003416) " stroke="#000">二号线</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="26.825145" y="233.484693" id="svg_374" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-weight="bold" font-style="italic" transform="matrix(1.5498554311623651,0,0,2.181600953061905,-21.428133679609594,-268.99278488329577) " stroke="#000">三号线</text>
      <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="1193.151622" y="470.787721" id="svg_375" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-weight="bold" font-style="italic" transform="matrix(1.9775887326892412,0,0,1.9396863738681418,-1188.54474343339,-416.25077726611875) " stroke="#000">三号线</text>
         </g>
        </svg>
        <br>
        <!-- <input type="button" onclick="zoom(1.1)" value="测试按钮"> -->
        
          
    
    
    
    
    
        <!-- 缩放结束 -->
        <br>
        
        <!-- 显示详细详细 -->
        <div class="tooltip" id="tooltip-1" style="left: 397px; top: 57px; display: none;">搜索</div>
    
        
    
    
    
    <script type="text/javascript">
    //     // 百度地图API功能测试
    //     function G(id) {
    //         return document.getElementById(id);
    //     }
    
    //     var map = new BMap.Map("l-map");
    //     map.centerAndZoom("石家庄",10);                   // 初始化地图,设置城市和地图级别。
    
    //     // 定义一个控件类,即function
    //     function ZoomControl() {
    //         this.defaultAnchor = BMAP_ANCHOR_TOP_LEFT;
    //         this.defaultOffset = new BMap.Size(10, 10);
    //     }
    
    //     // 通过JavaScript的prototype属性继承于BMap.Control
    //     ZoomControl.prototype = new BMap.Control();
    
    //     // 自定义控件必须实现自己的initialize方法,并且将控件的DOM元素返回
    //     // 在本方法中创建个div元素作为控件的容器,并将其添加到地图容器中
    //     ZoomControl.prototype.initialize = function(map){
    //       // 创建一个DOM元素
    //       var div = document.createElement("div");
    //       div.innerHTML = '<div id="r-result">搜索地址:<input type="text" id="suggestId" size="20" value="百度" style="150px;" /></div><div id="searchResultPanel" style="border:1px solid #C0C0C0;150px;height:auto; display:none;"></div>';
    
    //       // 添加DOM元素到地图中
    //       map.getContainer().appendChild(div);
    //       // 将DOM元素返回
    //       return div;
    //     }
    
    //     // 创建控件
    //     var myZoomCtrl = new ZoomControl();
    //     // 添加到地图当中
    //     map.addControl(myZoomCtrl);
    
    
    //     var ac = new BMap.Autocomplete(    //建立一个自动完成的对象
    //         {"input" : "suggestId"
    //         ,"location" : map
    //     });
    
    //     ac.addEventListener("onhighlight", function(e) {  //鼠标放在下拉列表上的事件
    //     var str = "";
    //         var _value = e.fromitem.value;
    //         var value = "";
    //         if (e.fromitem.index > -1) {
    //             value = _value.province +  _value.city +  _value.district +  _value.street +  _value.business;
    //         }
    //         str = "FromItem<br />index = " + e.fromitem.index + "<br />value = " + value;
    
    //         value = "";
    //         if (e.toitem.index > -1) {
    //             _value = e.toitem.value;
    //             value = _value.province +  _value.city +  _value.district +  _value.street +  _value.business;
    //         }
    //         str += "<br />ToItem<br />index = " + e.toitem.index + "<br />value = " + value;
    //         G("searchResultPanel").innerHTML = str;
    //     });
    
    //     var myValue;
    //     ac.addEventListener("onconfirm", function(e) {    //鼠标点击下拉列表后的事件
    //     var _value = e.item.value;
    //         myValue = _value.province +  _value.city +  _value.district +  _value.street +  _value.business;
    //         G("searchResultPanel").innerHTML ="onconfirm<br />index = " + e.item.index + "<br />myValue = " + myValue;
    
    //         setPlace();
    //     });
    
    //     function setPlace(){
    //         map.clearOverlays();    //清除地图上所有覆盖物
    //         function myFun(){
    //             var pp = local.getResults().getPoi(0).point;    //获取第一个智能搜索的结果
    //             map.centerAndZoom(pp, 14);
    //             map.addOverlay(new BMap.Marker(pp));    //添加标注
    //         }
    //         var local = new BMap.LocalSearch(map, { //智能搜索
    //           onSearchComplete: myFun
    //         });
    //         local.search(myValue);
    //     }
    // 
    
    //--------------------滚轮实现矢量图(路径)放大功能---------------------------
    var myimage = document.getElementById("subwayimage22");
    if (myimage.addEventListener) {
        // IE9, Chrome, Safari, Opera
        myimage.addEventListener("mousewheel", MouseWheelHandler, false);
        // Firefox
        myimage.addEventListener("DOMMouseScroll", MouseWheelHandler, false);
    }
    // IE 6/7/8
    else myimage.attachEvent("onmousewheel", MouseWheelHandler);
    function MouseWheelHandler(e) {
    
        // cross-browser wheel delta
        var e = window.event || e; // old IE support
        var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail)));
        //myimage.style.width = Math.max(50, Math.min(1900, myimage.width + (30 * delta))) + "px";
    
        e.wheelDelta>0 || e.detail >0?zoombypositon(1.1,e):zoombypositon(0.9,e);
       return false;
    }
    
    
    //------------------------------实现放大矢量图功能----------------------------------------
    var svg = document.getElementById("svgimg");
        var svgPanel = document.getElementById("subwayimage");
        var bgPath=document.getElementById("subwayimage").getBBox();
        var gridSvg = document.getElementById("grid");
        var width = 800;  //设置svg整体的宽和高
        var height = 400;
        var gridLength = 20; //定义网格的大小
        var scale=1.0;
        svg.setAttribute("width",width);
        svg.setAttribute("height",height);
    
        //绘制网格
        drawGrid(gridSvg,width,height,gridLength);
    
        /**
         * 绘制网格     
         * @param {Object} svgBackground 绘制网格对象
         * @param {Int} winWidth 区域宽度
         * @param {Int} winHeigth 区域高度
         * @param {Int} gridLength 网格大小
         */
        function drawGrid(svgBackground,winWidth,winHeight,gridLength) {
            var childs = gridSvg.childNodes;
            //删除之前的网格节点,便于重绘
            for (var i = childs.length - 1; i >= 0; i--) {
                svgBackground.removeChild(childs.item(i));
            }
            for (var i = 0, len = Math.ceil(winWidth / gridLength); i <= len; i++) {
                var attrs = {
                    x1: i * gridLength,
                    y1: 0,
                    x2: i * gridLength,
                    y2: winHeight,
                    stroke: "#ddd"
                };
                var line = resetSVG("line", attrs);
                svgBackground.appendChild(line);
            };                                                                                                                                                         
            for (var i = 0, len = Math.ceil(winHeight / gridLength); i <= len; i++) {
                var attrs = {
                    x1: 0,
                    y1: i * gridLength,
                    x2: winWidth,
                    y2: i * gridLength,
                    stroke: "#ddd"
                };
                var line = resetSVG("line", attrs);
                svgBackground.appendChild(line);
            };
        }
    
        /**
         * js创建svg元素        
         * @param {String} tag svg的标签名
         * @param {Object} svg元素的属性
         */
        function resetSVG(tag, attrs) {
            var element = document.createElementNS('http://www.w3.org/2000/svg', tag);
            for (var k in attrs) {
                element.setAttribute(k, attrs[k]);
            }
            return element;
        }
    
        /**
         * svg放缩
         * {Float} num 放缩的倍数
         */
        function zoom(num){
            if((scale<2.14||num<1)&&(scale>0.5||num>1))
             {
                scale*= num;
                if(!fmemory)
                {
                    bx1=0;
                    by1=0;
                    bx=0;
                    by=0;
                    bx=1;
                    by=1;
                    fmemory=true;
                }
                svgPanel.setAttribute("transform","scale("+scale+") translate("+bx+","+by+")");
             }
        }
        var bx1=0.0;
        var by1=0.0;
        var bx=bgPath.x;
        var by=bgPath.y;
        var addTemp=false;
        function zoombypositon(num,e){
            if((scale<2.0||num<1)&&(scale>0.5||num>1))
            {
                 scale*= num;
            
                    var bWitdth=bgPath.width;
                    var bHeight=bgPath.height;
                    bx=bgPath.x;
                    by=bgPath.y;
                    var x=e.clientX-bx;
                    var y=e.clientY-by;
                    x-=x*scale;
                    y-=y*scale;
                    bx+=x/scale;
                    by+=y/scale;
                    //-----偏移量设置----
                    if(fmemory)
                    {
                        bx-=(bgPath.x-bx1)/scale;
                        by-=(bgPath.y-by1)/scale;
                    }
                    else
                    {
                        bx-=bgPath.x/scale;
                        by-=bgPath.y/scale;
                    }
                    
                    svgPanel.setAttribute("transform","scale("+scale+") translate("+bx+","+by+")");
                    addTemp=true;
         }
           
        }
        var g_checkDown=false;
        var fmemory=false;
        var x=0.0;
        var y=0.0;
        // var t,et;
         function on_Mouseup(e)
        {
             //alert("鼠标移动到了按钮,通过onmouseover方法触发了mouseover事件");
            g_checkDown=false;
            
        }
        function on_Mousedown(e)
        {
             //alert("鼠标移动到了按钮,通过onmouseover方法触发了mouseover事件");
            g_checkDown=true;
            x=e.clientX;
                y=e.clientY;
                if(!fmemory)
                {
                    bx1=0;
            by1=0;
            bx=0;
            by=0;
            bx=1;
            by=1;
            fmemory=true;
                }
        else
        {
            bx1=bx;
            by1=by;
        }
                // et=e;
            // t=setTimeout("text()",500);
            
                
        }
        var oldscale=1.0;
        var g_once=false;
         function on_Mousemove(e)
        {
    
    
            if(!g_once)
            {
                oldscale=1.0;
                g_once=true;
            }
    
            if(g_checkDown)
            {
                bx1+=((e.clientX-x))/scale;
                by1+=((e.clientY-y))/scale;
                bx+=((e.clientX-x))/scale;
                by+=((e.clientY-y))/scale;
                if(addTemp)
                {
                    //偏移量设置
                    // bx1-=(bx-bgPath.x)*(oldscale-scale);
                    // by1-=(by-bgPath.y)*(oldscale-scale);
                    addTemp=false;
                    oldscale=scale;
                }
                
                svgPanel.setAttribute("transform", "scale("+scale+") translate("+(bx1)+","+(by1)+")");
                x=e.clientX;
                    y=e.clientY;
                    //alert("鼠标移动到了按钮,通过onmouseover方法触发了mouseover事件"+(bx+e.clientX-x));
            }
        }
        //计时器例子
        // function text(e)
        // {
        //     if(g_checkDown)
        //     {
        //         bx=bgPath.x;
        //             by=bgPath.y;
        //         svgPanel.setAttribute("transform","translate("+(bx+et.clientX-x)+","+by+et.clientY-y+")");
        //         x=et.clientX;
        //             y=et.clientY;
        //             //alert("鼠标移动到了按钮,通过onmouseover方法触发了mouseover事件"+(bx+e.clientX-x));
        //             alert("鼠标移动到了按钮,通过onmouseover方法触发了mouseover事件"+(bx+et.clientX-x));
        //             t=setTimeout("text()",500);
                    
        //     }
        //     else
        //     {
        //         clearTimeout(t)
        //     }
        // }
    
       
    
    //---------------------绑定滚轮放大矢量图图功能--------------
    // if(document.addEventListener){                                
    //     document.addEventListener('DOMMouseScroll',scrollZoom,false);
    // }
    // window.onmousewheel=document.onmousewheel=scrollZoom;
    
    // *
    //  * 滑轮滚动处理事件,向上滚放大
    //  * {Object} e 事件对象
     
    // function scrollZoom(e){
    //     e=e || window.event;
    //     //e.detail用来兼容 FireFox
    //     e.wheelDelta>0 || e.detail >0?zoom(1.1):zoom(0.9);
    // }
    //-----------------------------------------
    
    // 文件可移动到电脑
    // window.onload = function () {
    //             var box1 = document.getElementById("subwayimage");
    //             box1.onmousedown = function (event) {
    //                 // console.log(1);
    //                 /*再次点击时使得图标任然在那个位置,鼠标可以点击到图标上*/
    //                 var ol = event.clientX - box1.offsetLeft;
    //                 var ot = event.clientY - box1.offsetTop;
    //                 /*鼠标点击*/
    //                 document.onmousemove = function (event) {
    //                     var left = event.clientX - ol;
    //                     var top = event.clientY - ot;
    //                     box1.style.left = left+"px";/*赋值*/
    //                     box1.style.top = top+"px";
    //                 }
    //                 /*鼠标松开*/
    //                 document.onmouseup = function (event) {
    //                     document.onmousemove = null;
    //                     document.onmouseup = null;
    //                 }
    //             }
    //         }
    
    
    
    </script>
    
    </body>
    </html>
     <%
             Object message = request.getAttribute("message");
             if(message!=null && !"".equals(message)){
         
        %>
             <script type="text/javascript">
                  alert("<%=request.getAttribute("message")%>");
             </script>
        <%} %>

    handleSql.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
      <%@ page language="java" import="java.util.*"%>
      <%@ page language="java" import="lyz.ClassService"%>
      <%@ page language="java" import="com.hdq.entity.LineInfo"%>
      <%@ page language="java" import="com.hdq.entity.Linenum" %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>数据处理层</title>
    
    </head>
    <body>
    <%
        request.setCharacterEncoding("utf-8");
        //--------------------------------
        String start=request.getParameter("start");
        String end=request.getParameter("end");
        ClassService service=new ClassService();
        @SuppressWarnings("unchecked")
        List<Linenum> ln=(List<Linenum>)service.list("linenum", new String[]{"linenum"},new Linenum().getClass());
        int g_slinenum=-1,g_elinenum=-1;
        int g_snum=-1,g_enum=-1;
        List<LineInfo> pathInfo=new ArrayList<LineInfo>();
        c:for(Linenum it:ln)
        {
            int g_count=0;
            @SuppressWarnings("unchecked")
            List<LineInfo> info=(List<LineInfo>)service.list("line"+it.getLinenum(), new String[]{"linenum","name"},new LineInfo().getClass());
            
            for(LineInfo it1:info)
            {
                
                if(it1.getName().equals(start))
                {
                    
                    //找到相应的节点
                    g_slinenum=it.getLinenum();
                    g_snum=g_count;
                }
                if(it1.getName().equals(end))
                {
                    g_elinenum=it.getLinenum();
                    g_enum=g_count;
                }
                if(g_elinenum!=-1&&g_slinenum!=-1)
                    break c;
                g_count++;
            }
            
        }
        if(g_slinenum!=-1&&g_elinenum!=-1)
        {
            if(g_elinenum!=g_slinenum)
            {
                //情况一:换乘线路只有一或没有的情况给予最短路径
                @SuppressWarnings("unchecked")
                List<LineInfo> einfo=(List<LineInfo>)service.list("line"+g_elinenum, new String[]{"linenum","name"},new LineInfo().getClass());
                @SuppressWarnings("unchecked")
                List<LineInfo> sinfo=(List<LineInfo>)service.list("line"+g_slinenum, new String[]{"linenum","name"},new LineInfo().getClass());
                int g_center=-1,g_ecenter=-1;
                boolean fOutside=false,feOutside=false;
                for(int i=0;i<sinfo.size();i++)
                {
                    if(i==g_snum)
                        fOutside=true;
                    if(sinfo.get(i).getLinenum()==g_elinenum)
                    {
                        g_center=i;
                    }
                    if(g_center!=-1&&fOutside)
                        break;
                }
                
                if(g_center<g_snum)
                {
                    pathInfo=sinfo.subList(g_center, g_snum+1);
                    Collections.reverse(pathInfo);
                }
                else
                {
                    
                    pathInfo=sinfo.subList(g_snum, g_center+1);
                }
                List<LineInfo> subPathInfo=new ArrayList<LineInfo>();
                for(int i=0;i<einfo.size();i++)
                {
                    
                    if(i==g_enum)
                        feOutside=true;
                    if(g_center<g_snum)
                    {
                        if(einfo.get(i).getName().equals(sinfo.get(g_snum).getName()))
                        {
                            g_ecenter=i;
                        }
                    }
                    else
                    {
                        if(einfo.get(i).getName().equals(sinfo.get(g_center).getName()))
                        {
                            g_ecenter=i;
                        }
                    }
                    if(g_ecenter!=-1&&feOutside)
                        break;
                }
                
                if(g_ecenter<g_enum)
                {
                    subPathInfo=einfo.subList(g_ecenter, g_enum+1);
                }
                else
                {
                    subPathInfo=einfo.subList(g_enum, g_ecenter+1);
                    Collections.reverse(subPathInfo);
                }
                LineInfo pointInfo=new LineInfo();
                pointInfo.setName("换乘"+g_elinenum+"号线路");
                pathInfo.add(pointInfo);
                pathInfo.addAll(subPathInfo);
                
            }
            else
            {
                @SuppressWarnings("unchecked")
                List<LineInfo> sinfo=(List<LineInfo>)service.list("line"+g_slinenum, new String[]{"linenum","name"},new LineInfo().getClass());
                
                if(g_snum>g_enum)
                {
                    pathInfo=sinfo.subList(g_enum,g_snum+1);
                    Collections.reverse(pathInfo);
                }
                else pathInfo=sinfo.subList(g_snum,g_enum+1);
            }
            //情况二:考虑可能换乘两路的情况
            @SuppressWarnings("unchecked")
            List<LineInfo> einfo=(List<LineInfo>)service.list("line"+g_elinenum, new String[]{"linenum","name"},new LineInfo().getClass());
            @SuppressWarnings("unchecked")
            List<LineInfo> sinfo=(List<LineInfo>)service.list("line"+g_slinenum, new String[]{"linenum","name"},new LineInfo().getClass());
            //开始中间节点的储存
            List<LineInfo> scenterPointList=new ArrayList<LineInfo>();
            List<Integer> snumList=new ArrayList<Integer>();
            //结束中间节点的储存
            List<LineInfo> ecenterPointList=new ArrayList<LineInfo>();
            List<Integer> enumList=new ArrayList<Integer>();
            List<Integer> ecnumList=new ArrayList<Integer>();
            List<Integer> scnumList=new ArrayList<Integer>();
            
            //储存所有可能出现的路径的容器
            List<List<LineInfo>> pathList=new ArrayList<List<LineInfo>>();
            for(int i1=0;i1<einfo.size();i1++)
            {
                for(int j1=0;j1<sinfo.size();j1++)
                {
                    if(einfo.get(i1).getLinenum()==sinfo.get(j1).getLinenum()&&sinfo.get(j1).getLinenum()!=-1)
                    {
                        scenterPointList.add(sinfo.get(j1));
                        snumList.add(j1);
                        ecenterPointList.add(einfo.get(i1));
                        enumList.add(i1);
                    }
                }
            }
            for(int i=0;i<scenterPointList.size();i++)
            {
                //储存开始节点到线路节点信息
                List<LineInfo> pathTemp;
                //起点到开始中间节点路径
                if(g_snum>snumList.get(i))
                {
                    pathTemp=new ArrayList<LineInfo>(sinfo.subList(snumList.get(i), g_snum+1));
                    Collections.reverse(pathTemp);
                }
                else
                {
                    pathTemp=new ArrayList<LineInfo>(sinfo.subList( g_snum,snumList.get(i)+1));
                }
                //获取中间节点线路
                @SuppressWarnings("unchecked")
                List<LineInfo> centerinfo=(List<LineInfo>)service.list("line"+scenterPointList.get(i).getLinenum(), new String[]{"linenum","name"},new LineInfo().getClass());
                //初始化中间线路节点的开始站点和结束站点位置
                int scnum=-1,ecnum=-1;
                for(int j=0;j<centerinfo.size();j++)
                {
                    if(scenterPointList.get(i).getName().equals(centerinfo.get(j).getName()))
                    {
                        scnum=j;
                    }
                    if(ecenterPointList.get(i).getName().equals(centerinfo.get(j).getName()))
                    {
                        ecnum=j;
                    }
                    if(ecnum!=-1&&scnum!=-1)
                    {
                        break;
                    }
                }
                if(scnum!=-1&&ecnum!=-1)
                {
                    if(scnum>ecnum)
                    {
                        List<LineInfo> temp=new ArrayList<LineInfo>(centerinfo.subList(ecnum,scnum+1));
                        Collections.reverse(temp);
                        LineInfo pointInfo=new LineInfo();
                        pointInfo.setName("换乘"+scenterPointList.get(i).getLinenum()+"号线路");
                        pathTemp.add(pointInfo);
                        pathTemp.addAll(temp);
                        
                    }
                    else
                    {
                        List<LineInfo> temp=new ArrayList<LineInfo>(centerinfo.subList(scnum,ecnum+1));
                        LineInfo pointInfo=new LineInfo();
                        pointInfo.setName("换乘"+scenterPointList.get(i).getLinenum()+"号线路");
                        pathTemp.add(pointInfo);
                        pathTemp.addAll(temp);
                    }
                    LineInfo pointInfo=new LineInfo();
                    pointInfo.setName("换乘"+centerinfo.get(ecnum).getLinenum()+"号线路");
                    pathTemp.add(pointInfo);
                }
                ecnumList.add(ecnum);
                scnumList.add(scnum);
                //从开始中间节点到结束节点路径
                if(g_enum>enumList.get(i))
                {
                    List<LineInfo> temp=new ArrayList<LineInfo>(einfo.subList(enumList.get(i), g_enum+1));
                    pathTemp.addAll(temp);
                }
                else
                {
                    List<LineInfo> temp=new ArrayList<LineInfo>(einfo.subList( g_enum,enumList.get(i)+1));
                    Collections.reverse(temp);
                    pathTemp.addAll(temp);
                }
                pathList.add(pathTemp);
            }
            //最优路径求解
            //若不是同一线路则进行求解
            if(g_slinenum!=g_elinenum)
            {
                for(int z=0;z<pathList.size();z++)
                {
                    //若是换乘两次才进行比较
                    if(ecnumList.get(z)!=-1&&scnumList.get(z)!=-1)
                    {
                        if((pathInfo.size()-2)>(pathList.get(z).size()-4))
                        {
                            pathInfo=pathList.get(z);
                        }
                    }
                }
            }
        /*
            //上述情况都是根据同学的想法实现的,但是总是不对,下面用自己之前的迷宫实现最优路径
            //情况三:迷宫算法
            //迷宫算法储存转换节点权值
            List<Integer> valueList=new ArrayList<Integer>();
            List<List<List<LineInfo>>> theShortest=new ArrayList<List<List<LineInfo>>>();
            for(int i=0;i<sinfo.size();i++)
            {
                //更改的线路号
                int g_changePoint=sinfo.get(i).getLinenum();
                if(g_changePoint==-1)
                    continue;
                List<LineInfo> temp=new ArrayList<LineInfo>();
                LineInfo changePoint=sinfo.get(i);
                if(g_snum>i)
                {
                    temp=new ArrayList<LineInfo>(sinfo.subList(i, g_snum+1));
                    Collections.reverse(temp);
                }
                else
                {
                    temp=new ArrayList<LineInfo>(sinfo.subList( g_snum,i+1));
                }
                //权值初始化
                Integer valueUp=0;
                
                //换乘不能重复
                List<Integer> cantRepeat=new ArrayList<Integer>();
                cantRepeat.add(g_changePoint);
                valueUp++;
                //储存上一路径信息
                List<LineInfo> lastPath=new ArrayList<LineInfo>(sinfo);
                List<List<LineInfo>> tempSelect=new ArrayList<List<LineInfo>>();
                while(changePoint.getLinenum()!=g_elinenum)
                {
                    List<LineInfo> pathTemp=new ArrayList<LineInfo>(temp);
                    //获取转折节点线路
                    @SuppressWarnings("unchecked")
                    List<LineInfo> changePath=(List<LineInfo>)service.list("line"+changePoint.getLinenum(), new String[]{"linenum","name"},new LineInfo().getClass());
                     
                    //另一结束节点在本线路中位置
                    for(int g=0;g<changePath.size();g++)
                    {
                        g_changePoint=changePath.get(g).getLinenum();
                        if(g_changePoint==-1)
                            continue;
                        if(cantRepeat.contains(g_changePoint)||g_changePoint==g_slinenum)
                            continue;
                        
                        //初始化中间线路节点的开始站点和结束站点位置
                        int scnum=-1;
                        for(int j=0;j<changePath.size();j++)
                        {
                            if(lastPath.get(i).getName().equals(changePath.get(j).getName()))
                            {
                                scnum=j;
                            }
                            if(scnum!=-1)
                            {
                                break;
                            }
                        }
                        //scnum开始节点,g结束节点位置,g_changePoint线路号,changePath路径信息
                        if(scnum>g)
                        {
                            //添加换乘节点信息:代填
                            LineInfo pointInfo=new LineInfo();
                            pointInfo.setName("换乘"+changePoint.getLinenum()+"号线路");
                            pathTemp.add(pointInfo);
                            pathTemp.addAll(temp);
                            //路径添加
                            List<LineInfo> temp1=new ArrayList<LineInfo>(changePath.subList(g, scnum+1));
                            Collections.reverse(temp1);
                            pathTemp.addAll(temp1);
                            
                            //中介线路号更改
                            g_changePoint=changePath.get(g).getLinenum();
                            //储存上条路径
                            lastPath=new ArrayList<LineInfo>(changePath);
                            //权值加一
                            valueUp++;
                            //最后节点的存储
                            changePoint=changePath.get(g);
                            cantRepeat.add(changePoint.getLinenum());
                        }
                        else
                        {
                            //添加换乘节点信息:代填
                            LineInfo pointInfo=new LineInfo();
                            pointInfo.setName("换乘"+changePoint.getLinenum()+"号线路");
                            pathTemp.add(pointInfo);
                            pathTemp.addAll(temp);
                            //路径添加
                            List<LineInfo> temp1=new ArrayList<LineInfo>(changePath.subList(scnum, g+1));
                            pathTemp.addAll(temp1);
                            
                            //中介线路号更改
                            g_changePoint=changePath.get(g).getLinenum();
                            //储存上条路径
                            lastPath=new ArrayList<LineInfo>(changePath);
                            //权值加一
                            valueUp++;
                            //最后节点的存储
                            changePoint=changePath.get(g);
                            cantRepeat.add(changePoint.getLinenum());
                        }
                        //存储进待选里面最后分析
                        tempSelect.add(pathTemp);
                        //----------------
                    }
                    theShortest.add(tempSelect);
                }    
            }
            //把上面求得的路径归一
            List<List<LineInfo>> tempSum=new ArrayList<List<LineInfo>>();
            
            
            //权值列表
            List<Integer> valueUpList=new ArrayList<Integer>();
            for(int i=0;i<theShortest.size();i++)
            {
                //添加换乘节点信息:代填
                LineInfo pointInfo=new LineInfo();
                pointInfo.setName("换乘"+g_elinenum+"号线路");
                tempSum.get(i).add(pointInfo);
                List<LineInfo> temp=new ArrayList<LineInfo>();
                for(int j=0;j<theShortest.get(i).size();j++)
                {
                    tempSum.get(j).addAll(theShortest.get(i).get(j));
                    if(valueUpList.size()>j)
                        valueUpList.set(j, valueUpList.get(j)+1);
                    else valueUpList.add(2);
                }
            }
            
            //最终路径
            List<Integer> finalNum=new ArrayList<Integer>();
            for(int i=0;i<einfo.size();i++)
            {
                String finalName=tempSum.get(i).get(tempSum.get(i).size()-1).getName();
                if(finalName.equals(einfo.get(i).getName()))
                {
                    finalNum.add(i);
                }
            }
            for(int i=0;i<einfo.size();i++)
            {
                if(g_enum>finalNum.get(i))
                    tempSum.add(new ArrayList<LineInfo>(einfo.subList(finalNum.get(i), g_enum+1)));
                else
                {
                    List<LineInfo> temp=new ArrayList<LineInfo>(einfo.subList(g_enum, finalNum.get(i)+1));
                    Collections.reverse(temp);
                    tempSum.add(temp);
                }
            }
            //若不是同一线路则进行求解
                    if(g_slinenum!=g_elinenum)
                    {
                        for(int z=0;z<tempSum.size();z++)
                        {
                            //若是换乘两次才进行比较
                            if(ecnumList.get(z)!=-1&&scnumList.get(z)!=-1)
                            {
                                if((pathInfo.size()-2)>(tempSum.get(z).size()-valueUpList.get(z)*2))
                                {
                                    pathInfo=tempSum.get(z);
                                }
                            }
                        }
                    }
            */
            //-----------------------------------迷宫循环
            String info=new String("查询的信息如下:");
            for(LineInfo it:pathInfo)
            {
                info+=it.getName();
                if(!it.getName().equals(pathInfo.get(pathInfo.size()-1).getName()))
                {
                    info+="-";
                }
            }
            request.setAttribute("message",info);
        }
        else
        {
            request.setAttribute("message","查无信息,请确定你输入的起点和终点的名称正确");
        }
        request.getRequestDispatcher("subway.jsp").forward(request,response);
    %>
    </body>
    </html>

    实验截图:

     

     2.

    3

    4

    编程总结分析:这一次的地铁管理系统是我们开学来第一次团队开发出来的程序,刚开始我和合作人肖成龙我们俩是自己写自己的,但是到后来代码合起来的时候发现有很多问题。然后我们就改进方法分工合作,用统一的编程软件开发。最终我们成功了。经过这次教训我知道了开发不是一个人的事情,是靠团队的力量来完成的,以后的路上肯定会有许多开发项目,这次的教训可以让我们避免再犯同样的错误。

     
  • 相关阅读:
    C++经典书籍:游戏编程
    云计算学习笔记Hadoop简介,hadoop实现原理,NoSQL介绍...与传统关系型数据库对应关系,云计算面临的挑战
    A win for the Nokia N8 is a win for Qt
    Qt 为中国移动音乐客户端提供多平台支持
    诺基亚力邀App开发员加入Ovi以对抗苹果
    MeeGo手机或将跳票至2011年
    TinyXML:一个优秀的C++ XML解析器
    企业开发中Qt和.Net小谈
    Qt 的昨天,今天,明天
    学机械的看看吧,一般看不见的机械原理——全动画图解
  • 原文地址:https://www.cnblogs.com/1502762920-com/p/10772699.html
Copyright © 2020-2023  润新知