⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 webgisframe.java

📁 实现网络GPS定位车辆的位置
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
          tcpSocket=socket;
          intNumber=count;
          ListGpsMessage=listbox;
      }
      /*
      public void InsertDatabase(String gps_message)
      {
              //插入数据库


              String i="";
              String dd ="";
              String tel="";
              String strSQL = null;
              String cardid=null;
              int j;
              i = gps_message.substring(21,27);
              j = Integer.valueOf(i).intValue()/60;
              dd = Integer.toString(j);
              String str_y=gps_message.substring(19,21)+"."+dd;
              i = gps_message.substring(30,36);
              j = Integer.valueOf(i).intValue()/60;
              dd = Integer.toString(j);
              String str_x=gps_message.substring(27,30)+"."+dd;
              tel=gps_message.substring(0,11);
              String sSpeed=null;
              sSpeed=gps_message.substring(38,40);
              Date currentTime= new Date();
              //SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy MMMM dd,EEEE, HH:mm:ss");
              SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
              String timeString=dateFormat.format(currentTime);
              try {

                  strSQL="select cardid from carmaster where carmobileno='"+tel+"'";
                  System.out.println("WebGisFrame dp: "+strSQL);
                  java.sql.ResultSet RS = Stmt.executeQuery(strSQL);
                  if(RS.next()){
                    cardid=RS.getString("cardid");
                    System.out.println(cardid);

                  }

                 }
                  catch (Exception ae )
                  {
                     System.out.println (ae);
                  }

                  try {

                    strSQL="insert into smsg_info (cardid,latitude,longitude,speed,senttime)values('"+cardid+"',"+str_x+","+str_y+","+sSpeed+",sysdate)";
                    //strSQL="insert into trackinfo (cardid,latitude,longitude,speed,senttime)values('"+cardid+"',"+str_x+","+str_y+","+sSpeed+",sysdate)";
                    System.out.println(strSQL);
            //java.sql.ResultSet RS = Stmt.executeUpdate(strSQL);
                    Stmt.executeQuery(strSQL);

                    //if(RS.next()){
                      //String cardid=rs.getString("cardid");
                      //System.out.println(cardid);

                    //}

                   }
                    catch (Exception oo )
                    {
                       System.out.println (oo);
                    }
                try {

                  //strSQL="insert into smsg_info (cardid,latitude,longitude,speed,senttime)values('"+cardid+"',"+str_x+","+str_y+","+sSpeed+",sysdate)";
                  strSQL="update trackinfo set latitude="+str_y+",longitude="+str_x+",speed="+sSpeed+",latestsend=sysdate where cardid='"+cardid+"'";
                  System.out.println(strSQL);
          //java.sql.ResultSet RS = Stmt.executeUpdate(strSQL);
                  Stmt.executeQuery(strSQL);

                  //if(RS.next()){
                    //String cardid=rs.getString("cardid");
                    //System.out.println(cardid);

                  //}

                 }
                  catch (Exception oo )
                  {
                     System.out.println (oo);
                  }


      }
      */
      public void run(){
          try{

               BufferedReader inReader=new BufferedReader(new InputStreamReader(tcpSocket.getInputStream() ));
               PrintWriter outWriter=new PrintWriter(tcpSocket.getOutputStream(),true);
//               outWriter.println("Welcome to tcp echo server! your account number is "+intNumber+".please enter EXIT if you want to exit");
               String in="";
               in=inReader.readLine();
               //System.out.println(in);
               sMsg=getTime()+in;
               String server="192.110.0.21";
//    String server="219.238.191.20";
               ListGpsMessage.add(sMsg);
               PrintWriter outMessage=new PrintWriter(tcpSocket.getOutputStream(),true);
               while(!in.trim().equals("EXIT")){
                   //outWriter.println("Echo ("+intNumber+"):"+in+tcpSocket.getLocalPort());

                   String ss="";
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                   try {
                        in=inReader.readLine();

                        String s;
                        s=in.substring(0,1);
                        System.out.println(in);
                        if(!s.equals("1"))
                        {
                        sMsg=getTime()+in+"已接收";
                        ListGpsMessage.add(sMsg);
                        //System.out.println(in);
                        }
                        //System.out.println(s);
                        //查询数据库
                        if (s.equals("0"))//查询历史轨迹
                        {
                          //ObjectOutputStream outResult = new ObjectOutputStream(tcpSocket.getOutputStream());

                          s=in.substring(2,in.length());
                          Vector vTraceMessage = new Vector();
                          System.out.print(s);
                          vTraceMessage=getSearchResult(s);
                          //System.out.print(vTraceMessage.size());
                          outMessage.println(vTraceMessage.size());
                          String m_x="";
                          String m_y="";
                          String m_dec="";
                          String m_speed="";
                          String m_createdatime="";
                          int i;
                          long j;

//for (i=0;i<m_v.size()/2;i++)
                          double[][] m_PointArrary= new double[1][vTraceMessage.size()];
                          for (i=0;i<vTraceMessage.size();i+=4)
                          {
                            m_x=vTraceMessage.elementAt(i).toString();
                            m_y=vTraceMessage.elementAt(i+1).toString();
                            m_speed=vTraceMessage.elementAt(i+2).toString();
                            m_createdatime=vTraceMessage.elementAt(i+3).toString();
                            //System.out.println("0x="+m_x+"y="+m_y);
                            String dec="";
                            dec = m_x.substring(3,m_x.length()-1);
                            //System.out.println(dec);
                            j = Long.valueOf(dec).longValue()/60;
                            m_dec=Long.toString(j);

                            m_x=m_x.substring(0,3)+"."+m_dec;

                            //System.out.println(m_y);
                            dec = m_y.substring(2,m_y.length()-1);
                            //System.out.println(dec);
                            j = Long.valueOf(dec).longValue()/60;
                            m_dec=Long.toString(j);
                            m_y=m_y.substring(0,2)+"."+m_dec;
                            outMessage.println(m_x+"$"+m_y+"$"+m_speed+"$"+m_createdatime);
                            //System.out.println("i="+i+"*"+m_x+"PPPPPP"+m_y);
                          }
                          System.out.println(i);
                          //outResult.writeObject(getSearchResult(s));

                        }
                        else if(s.equals("1"))//查询报警信息
                        {
                          Vector vAlarmMessage = new Vector();
                          try{
                            java.sql.ResultSet RS = Stmt.executeQuery("select gpsmessage from gpsmessage where flag=0");
                            while(RS.next()){
                              vAlarmMessage.addElement(RS.getString("gpsmessage"));
                              Stmt.execute("update gpsmessage set flag=1");
                              //System.out.println(RS.getString("gpsmessage"));
                            }
                            RS.close();
                          }catch(Exception e){
                            e.printStackTrace();
                          }
                          String m_result="null";
                          if(vAlarmMessage.size()!=0)
                            m_result=vAlarmMessage.elementAt(0).toString();
                          outMessage.println(m_result);
                        }
                        else if(s.equals("2"))
                        {

                          Vector vCarInfo = new Vector();
                          s=in.substring(2,in.length());
                          System.out.print(s);
                          vCarInfo=getSearchResultCarInfo(s);
                          System.out.print(vCarInfo.size());
                          outMessage.println(vCarInfo.size());//m_count
                          for (int i=0;i<vCarInfo.size();i+=11)
                          {
                            String m_cardid = vCarInfo.elementAt(i).toString();
                            String m_carlicenceno  = vCarInfo.elementAt(i+1).toString();
                            String m_username = vCarInfo.elementAt(i+2).toString();
                            String m_carmobileno = vCarInfo.elementAt(i+3).toString();
                            String m_phoneno = vCarInfo.elementAt(i+4).toString();
                            String m_latestsend = vCarInfo.elementAt(i+5).toString();
                            String m_speed = vCarInfo.elementAt(i+6).toString();
                            String m_status = vCarInfo.elementAt(i+7).toString();
                            String m_gpsstyle = vCarInfo.elementAt(i+8).toString();
                            String m_carcolor = vCarInfo.elementAt(i+9).toString();
                            String m_registerdate = vCarInfo.elementAt(i+10).toString();
                            String m_Send=m_cardid+"$"+m_carlicenceno+"$"+m_username+"$"+m_carmobileno+"$"+m_phoneno+"$"+m_latestsend+"$"
                                               +m_speed+"$"+m_status+"$"+m_gpsstyle+"$"+m_carcolor+"$"+m_registerdate;
                            System.out.println(m_Send);
                            outMessage.println(m_Send);
                          }
                        }


                  else if(s.equals("3"))//车辆定位
                      {
                          String option="";
                          String CallSerial="";
                          String CarPlate="";
                          int port= 10011;
                          try{
                            System.out.println ("Connecting to " +server);

                            // 与服务器建立连接
                            Socket tcpSocketGps = new Socket(server, port);
                            //超时1分30秒
//                         tcpSocketGps.setSoTimeout(120000);
                            //建立输入输出流
                            PrintStream outGps = new PrintStream( tcpSocketGps.getOutputStream()) ;
                            DataInputStream inGps = new DataInputStream(tcpSocketGps.getInputStream());
            //             3#$>10001,SM,命令,一次定位,京FJ8378 ,,,<

                            byte[] buffer = new byte[1024];
                            int bytesRead=0;


                            int index1=in.indexOf("$");
                            int indexComma1=in.indexOf(",");
                            int indexComma2=in.indexOf(",",indexComma1+1);
                            int indexComma3=in.indexOf(",",indexComma2+1);
                            int indexComma4=in.indexOf(",",indexComma3+1);
                            int indexComma5=in.indexOf(",",indexComma4+1);



                            CarPlate = in.substring(indexComma4+1,indexComma5);
                            System.out.println("this is Original CarPlate: "+CarPlate);
                            String m_gps = in.substring(index1+1,in.length());
                            outGps.println(m_gps);
                            sMsg=getTime()+"连接到"+server+"发送"+m_gps;
                            ListGpsMessage.add(sMsg);
         for(int i=0;i<100000;i++){
                  bytesRead = inGps.read(buffer);
                  ss = new String(buffer, 0, bytesRead);

                  int Begin = ss.indexOf(">");
                  int End = ss.indexOf("<");

                  while (Begin != -1) {
                    String Pack = ss.substring(Begin + 1, End);
                    System.out.println("here is ReceiveMsg: " + Pack);
                    int comma1 = Pack.indexOf(",");
                    int comma2 = Pack.indexOf(",", comma1 + 1);
                    int comma3 = Pack.indexOf(",", comma2 + 1);
                    int comma4 = Pack.indexOf(",", comma3 + 1);
                    int comma5 = Pack.indexOf(",", comma4 + 1);
                    int comma6 = Pack.indexOf(",", comma5 + 1);
                    int comma7 = Pack.indexOf(",", comma6 + 1);
                    String getCarPlate = Pack.substring(comma3+1, comma4);
                    System.out.println("here is the get Msg GetCarPlate : "+getCarPlate);
                    String Status = Pack.substring(comma1 + 1, comma2);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -