周边信息查询

通过百度提供的地图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());
        }
    }

 

 

posted on 2013-04-12 09:47  blues_qi  阅读(160)  评论(0编辑  收藏  举报

导航