周边信息查询

本文介绍了如何利用百度地图API进行周边信息的查询,包括地点搜索、位置定位等功能,帮助开发者获取丰富的地理信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

到了一个较陌生的环境,经常会在周边找一些基础设施,比如银行,商场,餐厅等(还有一种更急切的是找厕所)。通过百度提供的地图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/

本文链接地址: 周边信息查询



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值