qiyadeng

          專注于Java示例及教程
          posts - 84, comments - 152, trackbacks - 0, articles - 34

          周邊信息查詢

          Posted on 2013-03-26 22:45 qiyadeng 閱讀(1781) 評(píng)論(0)  編輯  收藏
          到了一個(gè)較陌生的環(huán)境,經(jīng)常會(huì)在周邊找一些基礎(chǔ)設(shè)施,比如銀行,商場(chǎng),餐廳等(還有一種更急切的是找?guī)Mㄟ^(guò)百度提供的地圖API,可以在你的應(yīng)用中簡(jiǎn)單做到,詳情可閱讀Place API。我們以查找周邊銀行作為示例,需確定的參數(shù)至少有三個(gè),要查找的位置的經(jīng)度和緯度,需要查找的內(nèi)容的類型或是關(guān)鍵字。

              public String getPalace(String query,String lat,String lng) throws ClientProtocolException, IOException{
                  HttpClient httpClient 
          = new DefaultHttpClient();
                  String url 
          = palceRequestUrl(query,lat,lng);
                  logger.log(Level.INFO, url);
                  HttpGet httpget 
          = new HttpGet(url);
                  ResponseHandler
          <String> responseHandler = new BasicResponseHandler();
                  String responseBody 
          = httpClient.execute(httpget, responseHandler);//位置xml
                  logger.log(Level.INFO,"baidu response:"+responseBody);
                  
          return responseBody;
              }
              
              
          public String palceRequestUrl(String query,String lat,String lng) throws UnsupportedEncodingException {
                  String url 
          = WeChatConstant.BASEURL + "place/search?query=" + URLEncoder.encode(query,"UTF-8"+ "&key="
                          
          + WeChatConstant.MAPKEY +"&location="+lat+","+lng +"&radius=2000"+"&output=" + WeChatConstant.OUTPUTFORMAT;
                  
          return url;
              }

          Junit測(cè)試

              @Test
              
          public void testGetBaiduPlace() throws Exception{
                  BaiduMapService bms 
          = new BaiduMapService();
                  String response 
          = bms.getPalace("銀行""39.915""116.404");
                  List
          <BaiduPlaceResponse> list = BaiduPlaceResponse.getBaiduPlace(response);
                  
          for(BaiduPlaceResponse res:list){
                      System.out.println(res.toString());
                  }
              }

          輸出內(nèi)容(省略部分內(nèi)容)

          <?xml version="1.0" encoding="utf-8" ?>
          <PlaceSearchResponse>
          <status>OK</status>
          <results>
          <result>
          <name>中國(guó)工商銀行東長(zhǎng)安街支行</name>
          <location>
          <lat>39.915891</lat>
          <lng>116.41867</lng>
          </location>
          <address>東城區(qū)東長(zhǎng)安街1號(hào)東方廣場(chǎng)西三辦公樓1樓</address>
          <uid>a025683c73033c35a21de987</uid>
          <detail_url>http://api.map.baidu.com/place/detail?uid=a025683c73033c35a21de987&amp;amp;output=html&amp;amp;source=placeapi</detail_url>
          <tag>銀行,王府井/東單</tag>
          </result>
          </results>
          </PlaceSearchResponse>
          BaiduPlaceResponse [name=中國(guó)工商銀行東長(zhǎng)安街支行, telephone=null, address=東城區(qū)東長(zhǎng)安街1號(hào)東方廣場(chǎng)西三辦公樓1樓, lat=39.915891, lng=116.41867, tag=null, detailUrl=http://api.map.baidu.com/place/detail?uid=a025683c73033c35a21de987
          &amp;output=html&amp;source=placeapi]

          原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明: 轉(zhuǎn)載自http://www.qiyadeng.com/

          本文鏈接地址: 周邊信息查詢



          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 和硕县| 淳化县| 吉木萨尔县| 潼南县| 聂拉木县| 普宁市| 张北县| 广昌县| 吉首市| 乐亭县| 和平县| 烟台市| 耒阳市| 徐闻县| 湘阴县| 潼南县| 新田县| 张家港市| 定兴县| 微博| 九寨沟县| 安阳县| 呼和浩特市| 财经| 三亚市| 石家庄市| 宽甸| 常山县| 德昌县| 左云县| 叙永县| 木兰县| 巨野县| 额尔古纳市| 基隆市| 海伦市| 会昌县| 萍乡市| 开封县| 中牟县| 三明市|