周邊資訊查詢

來源:互聯網
上載者:User
到了一個較陌生的環境,經常會在周邊找一些基礎設施,比如銀行,商場,餐廳等(還有一種更急切的是找廁所)。通過百度提供的地圖API,可以在你的應用中簡單做到,詳情可閱讀Place API。我們以尋找周邊銀行作為樣本,需確定的參數至少有三個,要尋找的位置的經度和緯度,需要尋找的內容的類型或是關鍵字。

 

    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測試

 

    @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());
        }
    }

 

輸出內容(省略部分內容)

 

<?xml version="1.0" encoding="utf-8" ?>
<PlaceSearchResponse>
<status>OK</status>
<results>
<result>
<name>中國工商銀行東長安街支行</name>
<location>
<lat>39.915891</lat>
<lng>116.41867</lng>
</location>
<address>東城區東長安街1號東方廣場西三辦公樓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=
中國工商銀行東長安街支行, telephone=null, address=東城區東長安街1號東方廣場西三辦公樓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]

原創文章,轉載請註明: 轉載自http://www.qiyadeng.com/

本文連結地址: 周邊資訊查詢

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.