使用百度地图GeoCoding API确定路名、标志性建筑和商场名的经度纬度

现在经常需要根据用户提供的位置,提供一些和位置相关的信息。有时可以直接确定用户的经度和纬度,有时不一定可以确定用户的经度和纬度信息,用户是 通过输入一些路名、标志性建筑或是商场名等位置,但是我们的数据库可能并没有存法用户可能输入的这些位置信息的经度纬度,这时候可以使用一些地图提供的 API来确定,用户所输入的位置信息的经度和纬度。

我们使用百度地图提供的GeoCoding API实现从位置信息到经度纬度的转换,详细的使用说明可以参考GeoCoding API。我们这里做一个简单的演示

public String getGeoCode(String query) throws ClientProtocolException, IOException{
    HttpClient httpClient = new DefaultHttpClient();
    String url = geoCodeRequestUrl(query);
    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 geoCodeRequestUrl(String query) throws UnsupportedEncodingException{
    String url = WeChatConstant.BASEURL + "geocoder?address=" + URLEncoder.encode(query,"UTF-8") + "&key="
            + WeChatConstant.MAPKEY + "&output=" + WeChatConstant.OUTPUTFORMAT;
    return url;
}

使用JUnit进行测试

@Test
public void testGeoCode() throws Exception {
    BaiduMapService bms = new BaiduMapService();
    String response = bms.getGeoCode("上地十街十号");
    BaiduGeoCodeResponse res = BaiduGeoCodeResponse.getBaiduGeoCode(response);//解析xml
    System.out.println(res.toString());
}

输出的结果

<GeocoderSearchResponse>
    <status>OK</status>
    <result>
                    <location>
                <lat>40.057098</lat>
                <lng>116.307175</lng>
            </location>
            <precise>1</precise>
            <confidence>80</confidence>
            <level>道路</level>
            </result>
</GeocoderSearchResponse>
BaiduGeoCodeResponse [lat=40.057098, lng=116.307175]

出处:http://www.qiyadeng.com/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索地图api
, responsebody
, 百度地图api
, httpget请求
, 位置
, 百度api
, 用户
, 百度贴吧api
, 百度地图地址解析
, 信息
, 百度地图api java
, 地图 经纬度
, 经度
纬度
百度获取经纬度api、经纬度查询api、android获取经纬度api、高德api 经纬度转地址、百度地图api 经纬度,以便于您获取更多的相关知识。

时间: 2024-09-12 15:31:51

使用百度地图GeoCoding API确定路名、标志性建筑和商场名的经度纬度的相关文章

geocoding-百度地图Geocoding API v1.0地址解析问题

问题描述 百度地图Geocoding API v1.0地址解析问题 如何使用第一步,申请key,点击这里获取密钥,申请key需要注册百度账号: 第二步,拼写发送http请求的url,注意需使用第一步申请的key: 第三步,接收http请求返回的数据(支持json和xml格式).这里的发送http请求的url和接收http请求返回的数据,应该怎么写?我用的是js,希望返回Json数据格式.下面是我写的这个功能函数的一部分. function getPosZuobiao(posName){ posN

link环境下制作一款《订餐软件》,使用百度地图对接api功能,订餐取餐显示订单怎么做?

问题描述 link环境下制作一款<订餐软件>,使用百度地图对接api功能,订餐取餐显示订单怎么做? link环境下制作一款<订餐软件>,使用百度地图对接api功能,订餐取餐显示订单怎么做? 解决方案 可以做成二维码,这样总台扫描下就可以知道了.

python 是否有百度地图的API?

问题描述 python 是否有百度地图的API? 请问python是否有百度地图的API.想用python写一个路径查找脚本. 在网上找到googlemap提供的python库,但是在查找百度地图的时候,基本上都是手写爬虫去百度地图里爬数据. 或者有没有什么更好的办法来实现? 解决方案 http://developer.baidu.com/map/index.php?title=webapi/guide/webservice-placeapi 百度提供的都是WEB api, 你python直接访

凨-百度地图API之地图标注(JS版),地理位置信息,根据地址获取经度纬度

使用的时候记得更改百度地图的开发者KEY <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>凨-百度地图API之地图标注(JS版),地理位置信息,根据地址获取经度纬度</title> <script type="text

WPF技术触屏上的应用系列(二): 嵌入百度地图、API调用及结合本地数据库在地图上进行自定义标点的实现

原文:WPF技术触屏上的应用系列(二): 嵌入百度地图.API调用及结合本地数据库在地图上进行自定义标点的实现         去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用.客户端是Window7操作系统,54寸大屏电脑电视一体机.要求有很炫的展示效果,要有一定的视觉冲击力,可触控操作.当然满足客户的要求也可以有其它途径.但鉴于咱是搞 .NET技术的,首先其冲想到的微软WPF方面,之前对WPF的了解与学习也只是停留在比较浅的层面,没有进一步深入学习与应用.所以在项目接来以后,也就赶

百度地图推API打造开放平台

日前,全球最大中文搜索引擎百度旗下产品--百度地图(ditu.baidu.com)正式对外宣布开放API(应用程序接口),通过JavaScript将百度地图嵌入到网页应用程序接口,使网站能创建功能全面的地图应用程序. 这意味着300万中文网站将有可能通过二次开发,为他们的用户提供更为准确详实.基于地理位置的生活信息服务.分析认为,依赖百度强势的品牌和技术资源支持,此次地图API开放将影响亿万网民的在线生活和信息获取方式,并带动本地化互联网应用浪潮的到来. 推动网络地图应用生态圈成熟 互联网的普及

百度地图JavaScript API经纬度查询-MAP

百度地图JavaScript API经纬度查询-MAP-ABCDEFGHIJKMHNOPQRSTUVWXYZ: 搜索:<input type="text" size="20" name="keyword" id="keyword" /> <input type="submit" value="提交" onclick="MblogDotccMap(documen

C# 如何通过百度地图的API获取经纬度

问题描述 初次涉及百度地图,C#的Client端,如何调用API,通过百度地图获取到当前的经纬度.恳请指教 解决方案 解决方案二:需要你自己申请开发者帐号的.然后自己看百度的api函数,简单的.解决方案三: 解决方案四:注册一个账号,申请服务.解决方案五:百度javascriptapi里面都有的解决方案六:学习了谢谢不错的回答

百度地图JavaScript API本地搜索的结果面板

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <style type="text/css"&