C#调用百度地图精确地址建议API
来源:互联网 发布:网络活动主持词开场白 编辑:程序博客网 时间:2024/05/17 23:19
百度地图提供了一个非常棒的API,就是当用户输入模糊地名时,可以返回精确地名,给用户提供建议选项。这个功能大大方便了相关应用的开发。
那么这个API应该怎么使用咧,详解如下:
首先,你需要在百度地图API申请一个Key,这个key是免费的,这一步非常简单。
百度地图API给出的使用建议只有这个
"http://api.map.baidu.com/place/v2/suggestion?query="+ place + "®ion=131&output=json&ak="+mapKey
输入以后,我们发现这个请求可以返回一个json文件,这是我第一次接触json,因此走了一些弯路。现在将我的经验分享出来,希望可以帮助到有需要的程序员。
首先是请求json数据,代码如下:
public string getMetadata(string place) { String url = "http://api.map.baidu.com/place/v2/suggestion?query="+ place + "®ion=131&output=json&ak="+mapKey; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "GET"; Encoding encoding = Encoding.UTF8;//根据网站的编码自定义 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader streamReader = new StreamReader(responseStream, encoding); string retString = streamReader.ReadToEnd(); streamReader.Close(); responseStream.Close(); return retString; }
这里需要啰嗦一句,C#与java不同,C#默认的类和方法都不是public,而java默认是public的,因此在C#中我们需要显式的写明白。很明显的,这个函数返回的是一个string,即百度地图提供给我们的精确地址建议的json数据。
完成了这一步,就要开始我们的精彩部分了,即C#怎样处理json数据。这个工作耗用了我一整天的时间。
首先需要下载Newtownsoft.Json这个动态链接库
下载完成后,我们就可以大展身手了。代码如下:
public string getAccurateName(string place) { String a = getMetadata(place); JObject jo = (JObject)JsonConvert.DeserializeObject(a); string result = jo["result"].ToString(); // string zone_en = jo["beijing"]["zone_en"].ToString(); JArray ja = (JArray)JsonConvert.DeserializeObject(result); string finala = ""; for (int i = 0; i < ja.Count; i++) { finala += ja[i]["name"].ToString() + "#"; } return finala; }
这段代码将json数据看作一个数组,取出的是result中的name
对应看就可以发现json的存储方式非常的方便程序员的使用。
- C#调用百度地图精确地址建议API
- C#调用百度地图API
- C#调用百度地图API经验
- C# 调用百度地图web服务API
- 百度地图API地址
- 百度地图api调用
- 根据经纬度,找到地址信息(调用android地图百度API)
- 【百度地图API】如何进行地址解析与反地址解析?——模糊地址能搜索到精确地理信息!
- 【百度地图API】如何进行地址解析与反地址解析?——模糊地址能搜索到精确地理信息!
- 【百度地图API】如何进行地址解析与反地址解析?——模糊地址能搜索到精确地理信息!
- C#调用百度地图API经验分享(一)
- C#调用百度地图API经验分享(二)
- C#调用百度地图API经验分享(三)
- C#调用百度地图API经验分享(四)
- C#调用百度地图API经验分享(一)
- C#调用百度地图API经验分享(四)
- C#调用百度地图API经验分享(四)
- C#调用百度地图API经验分享(一)
- 1,-3!,5!,-7!~,(-1)(2n-1)!前n项和。n的值由键盘输入。
- Mac OS X 下终端基本命令
- 算法训练 操作格子
- 从键盘上输入学生成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。
- for循环的进化
- C#调用百度地图精确地址建议API
- c++ size_type类型详解
- 求水仙花数。
- C语言中的"%p"格式解释
- 题目1020题 最小长方形 九度Online Judge
- 二叉树后序遍历
- cxGrid使用汇总
- c:求不等式
- SQL Server 增加、删除、修改