Android开发教程:NextBus之显示实时车辆位置信息(2)

这里得到了我们点击的路线的名称,根据路线名称我们可以下载到路线上所有车子的实时信息,下过来存在一个string中,然后把这个string拿来解析,将获得的数据放在ArrayList<VehicleLocationsData> vehicleLocationsData中把,VehicleLocationsData有多个数据成员,包括汽车的朝向,速度,经纬度等等。

private void achieveAllDirection(String RouteName) {       String path="http://webservices.nextbus.com/service/publicXMLFeed?command=vehicleLocations&a=mbta&r="+RouteName+"&t=0";              HttpDownloader hd = new HttpDownloader();//下载实时信息       String resultStr = hd.download(path);       //System.out.println(resultStr);       try{                       SAXParserFactory factory = SAXParserFactory.newInstance();                                          XMLReader reader = factory.newSAXParser().getXMLReader();           VehicleLocationsPrase vehicleLocationsPrase=new VehicleLocationsPrase();           reader.setContentHandler(vehicleLocationsPrase);           //开始解析文件           reader.parse(new InputSource(new StringReader(resultStr)));            ArrayList<VehicleLocationsData> temp=vehicleLocationsPrase.getVehicleLocationsDatas();                      System.out.println(temp.size());           if (temp.size()==0) {               Toast.makeText(mapView.getContext(), "这辆车在这个方向上目前没有实时信息", Toast.LENGTH_LONG );           }           else {               //下载解析好之后开始画图               afterClickBusOnRoute(temp);           }       }       catch(Exception e){           e.printStackTrace();       }   }  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wysfyd.html