




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微信公众平台java开发附近公交站台功能/*附近公交站台查询*authhma*/publilassAiBangBusStationpublicstaticvoidmain(Stringargs)searchBusLineByNum("南京","1");/*公交线路查询*paramcityName*paramlineNum*/publicstaticList<AiBangBusStationBeansearchBusLineByNum(StringcityName,StringlineNum)StringBuffersbUrl=newStri
2、ngBuffer();sbUrl.append("aibang/bus/lines");sbUrl.append("app_key="+AiBangIconst.AI_BANG_API_KEY);sbUrl.append("&city="+cityName);/城市sbUrl.append("&q="+lineNum);/距离(单位:米)List<AiBangBusStationBeanlistLine=newArrayList<AiBangBusStat
3、ionBean();StringpageContext=HttpRequestTools.getHttpClientHtml(sbUrl.toString(),"UTF-8");if(pageContext!=null&&!"".equals(pageContext)SAXBuildersax=newSAXBuilder();tryStringReaderread=newStringReader(pageContext);/创建新的输入源SAX解析器将使用InputSource对象来确定如何读取XML输入InputSour
4、cesource=newInputSource(read);/通过输入源构造一个DocumentDocumentdoc=sax.build(source);/取的根元素Elementroot=doc.getRootElement();ListlistChild=root.getChild("lines").getChildren();for(inti=0;i<listChild.size();i+)Elementelementstat=(Element)listChild.get(i);AiBangBusStationBeanbeans=newAiBangBu
5、sStationBean();beans.setName(elementstat.getChildText("name");Stringlocations=elementstat.getChildText("xy").split(",");beans.setLocation_x(locations0);beans.setLocation_y(locations1);beans.setDist(elementstat.getChildText("dist");beans.setLine_names(elementst
6、at.getChildText("line_names");listLine.add(beans);catch(Exceptione)e.printStackTrace();/ExceptionTools.getExceptionDetail(e,"获取附近公交站台信息错误!");returnlistLine;/*获取附近公交站台信息*return*/SuppressWarnings("rawtypes")publicstaticList<AiBangBusStationBeangetNearByBusStations(
7、StringcityName,Stringlocation_x,Stringlocation_y)StringBuffersbUrl=newStringBuffer();sbUrl.append("aibang/bus/stats_xy");sbUrl.append("app_key="+AiBangIconst.AI_BANG_API_KEY);sbUrl.append("&city="+cityName);/城市sbUrl.append("&lng="+location_x);/
8、经度sbUrl.append("&lat="+location_y);/纬度sbUrl.append("&dist=500");/距离(单位:米)List<AiBangBusStationBeanlistNearByBus=newArrayList<AiBangBusStationBean();StringpageContext=HttpRequestTools.getHttpClientHtml(sbUrl.toString(),"UTF-8");if(pageContex
9、t!=null&&!"".equals(pageContext)SAXBuildersax=newSAXBuilder();tryStringReaderread=newStringReader(pageContext);/创建新的输入源SAX解析器将使用InputSource对象来确定如何读取XML输入InputSourcesource=newInputSource(read);/通过输入源构造一个DocumentDocumentdoc=sax.build(source);/取的根元素Elementroot=doc.getRootEleme
10、nt();ListlistChild=root.getChild("stats").getChildren();for(inti=0;i<listChild.size();i+)Elementelementstat=(Element)listChild.get(i);AiBangBusStationBeanbeans=newAiBangBusStationBean();beans.setName(elementstat.getChildText("name");Stringlocations=elementstat.getChildText
11、("xy").split(",");beans.setLocation_x(locations0);beans.setLocation_y(locations1);beans.setDist(elementstat.getChildText("dist");beans.setLine_names(elementstat.getChildText("line_names");listNearByBus.add(beans);catch(Exceptione)/e.printStackTrace();Exception
12、Tools.getExceptionDetail(e,"获取附近公交站台信息错误!");listNearByBus=null;returnlistNearByBus;/*根据城市名称,公交站名称,获取公交站台线路信息*paramcityName*paramstationName*return*/SuppressWarnings("rawtypes")publicstaticAiBangBusStationBeangetBusStationDetailByName(StringcityName,StringstationName)StringBuffers
13、bUrl=newStringBuffer();sbUrl.append("aibang/bus/stats");sbUrl.append("app_key="+AiBangIconst.AI_BANG_API_KEY);sbUrl.append("&city="+cityName);/城市sbUrl.append("&q="+stationName);/经度StringpageContext=HttpRequestTools.getHttpClientHtml(sbUrl.toStr
14、ing(),"UTF-8");AiBangBusStationBeanbeans=null;SAXBuildersax=newSAXBuilder();tryStringReaderread=newStringReader(pageContext);/创建新的输入源SAX解析器将使用InputSource对象来确定如何读取XML输入InputSourcesource=newInputSource(read);/通过输入源构造一个DocumentDocumentdoc=sax.build(source);/取的根元素Elementroot=doc.getRootElement
15、();ListlistChild=root.getChild("stats").getChildren();if(listChild!=null&&listChild.size()!=0)Elementelementstat=(Element)listChild.get(0);beans=newAiBangBusStationBean();beans.setName(elementstat.getChildText("name");Stringlocations=elementstat.getChildText("
16、;xy").split(",");beans.setLocation_x(locations0);beans.setLocation_y(locations1);beans.setDist(elementstat.getChildText("dist");beans.setLine_names(elementstat.getChildText("line_names");catch(Exceptione)/e.printStackTrace();ExceptionTools.getExceptionDetail(e,&quo
17、t;根据城市名称,公交站名称,获取公交站台线路信息错误!");returnbeans;/*获取公交线路详细信息*paramcityName*paramcode*return*/SuppressWarnings("rawtypes")publicstaticAiBangBusStationBeangetgetBusLineDetailInfo(StringcityName,Stringcode)StringBuffersbUrl=newStringBuffer();sbUrl.append("aibang/bus/lines");sbUrl.ap
18、pend("app_key="+AiBangIconst.AI_BANG_API_KEY);sbUrl.append("&city="+cityName);/城市sbUrl.append("&q="+code);/经度StringpageContext=HttpRequestTools.getHttpClientHtml(sbUrl.toString(),"UTF-8");AiBangBusStationBeanbeans=null;SAXBuildersax=newSAXBuild
19、er();tryStringReaderread=newStringReader(pageContext);/创建新的输入源SAX解析器将使用InputSource对象来确定如何读取XML输入InputSourcesource=newInputSource(read);/通过输入源构造一个DocumentDocumentdoc=sax.build(source);/取的根元素Elementroot=doc.getRootElement();ListlistChild=root.getChild("lines").getChildren();if(listChild!=nul
20、l&&listChild.size()!=0)Elementelementstat=(Element)listChild.get(0);beans=newAiBangBusStationBean();beans.setName(elementstat.getChildText("name");beans.setLineInfo(elementstat.getChildText("info");beans.setLineStats(elementstat.getChildText("stats");bea
21、ns.setLineStat_xys(elementstat.getChildText("stat_xys");beans.setLineXys(elementstat.getChildText("xys");catch(Exceptione)/e.printStackTrace();ExceptionTools.getExceptionDetail(e,"获取公交线路详细信息错误!");returnbeans;-importjava.HttpURLConnection;importjava.URL;publilassHttpRequ
22、estTools/*请求页面*paramstrUrl*paramstrPostRequest*parammaxLength*paramcode*return*/publicstaticStringgetPageContent(StringstrUrl,StringstrPostRequest,intmaxLength,Stringcode)/读取结果网页StringBufferbuffer=newStringBuffer();HttpURLConnectionconnection=null;tryURLurl=newURL(strUrl);/打开url连接connection=(HttpURL
23、Connection)url.openConnection();/设置url请求方式get或者postconnection.setRequestMethod(strPostRequest);connection.setConnectTimeout(5000);connection.setReadTimeout(5000);connection.setRequestProperty("User-Agent","Mozilla/4.0(patible;MSIE5.0;WindowsNT;DigExt)");/IE代理进行下载/发送BufferedReader
24、in=newBufferedReader(newInputStreamReader(url.openStream(),code);intch;for(intlength=0;(ch=in.read()-1&&(maxLength<=0|length<maxLength);length+)buffer.append(char)ch);in.close();connection.disconnect();returnbuffer.toString().trim();catch(Exceptione)if(connection!=null)
25、connection.disconnect();/ExceptionTools.getExceptionDetail(e,"地址:"+strUrl+"请求失败!");returnnull;/*根据URL获得所有的html信息*paramurl*return*/publicstaticStringgetHttpClientHtml(Stringurl,Stringcode)Stringhtml=null;HttpClienthttpClient=newDefaultHttpClient();/创建httpClient对象HttpGethttpget=new
26、HttpGet(url);/以get方式请求该URLtryHttpResponseresponce=httpClient.execute(httpget);/得到responce对象intresStatu=responce.getStatusLine().getStatusCode();/返回码if(resStatu=HttpStatus.SC_OK)/200正常其他就不对/获得相应实体HttpEntityentity=responce.getEntity();if(entity!=null)html=newString(EntityUtils.toString(entity).getByte
27、s("ISO-8859-1"),code);/获得html源代码catch(Exceptione)e.printStackTrace();finallyhttpClient.getConnectionManager().shutdown();returnhtml;/*默认编码获取HTML代码*paramurl*return*/publicstaticStringgetHttpClientHtml(Stringurl)Stringhtml=null;HttpClienthttpClient=newDefaultHttpClient();/创建httpClient对象HttpGethttpget=newHttpGet(url);/以get方式请求该URLtryHttpResponseresponce=httpClient.execute(httpget)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省昭觉中学高中地理 5.2 环境管理的国际合作说课稿 新人教版选修6
- 2025在线学法考试题库及答案
- 金太阳内蒙古2026届高三名校9月教学质量检测试卷(26-32C)化学(含答案)
- 裁剪服装制版师改进评优考核试卷含答案
- 配置630MPa级钢筋ECC-RC梁受弯性能分析
- 粮油购销员班组协作考核试卷含答案
- 煤直接液化操作工改进强化考核试卷含答案
- 徽州石雕技艺及其当代应用研究
- 2025年卫生院及社区医疗服务合作协议书
- 15.4 探究焦耳定律说课稿-2025-2026学年初中物理沪粤版九年级上册-沪粤版2012
- APD自动化腹膜透析机的使用
- 食品的生物保藏技术
- LY/T 2988-2018森林生态系统碳储量计量指南
- 中海油劳动合同范本
- 小学数学教材解读人教一年级上册认识图形 认识图形教材分析城西学校宋艳
- 非常规天然气课件
- 高一英语必修一试卷(含答案)(适合测试)
- Python基础课件(共282张PPT)
- 思想道德与法治教案绪论:担当复兴大任成就时代新人
- TCIIA 015-2022 智慧工地建设规范
- 新编临床医学英语(共37页)
评论
0/150
提交评论