




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PlaceAPI http接口使用说明1.1 Place API http接口简介Place API http接口(以下简称http接口)是一个供程序员调用的、http形式的地图检索服务接口,且只向百度合作伙伴开放。目前http接口提供的功能包括:矩形区域关键字检索、周边区域关键字检索(也称:圆形区域检索)和城市内关键字检索。http接口主要服务那些非网页程序的调用,例如:C# 、C+、Java等开发的应用程序,这些开发语言都能发送http请求且能接收返回数据。http接口可以返回xml和json两种不同形式的的地理数据。目前提供的功能不是很多、以后随着用户需求的收集和总结,会不断完善http接口。1.2 Place API http接口使用说明http接口使用分为3个步骤:第一步,申请注册key;第二步,拼写http请求发送的url,url中附带上第一步申请的key值;第三步,接收http请求返回的数据(json或xml格式),如下图示意:申请注册key拼写http请求url &key接收http返回 数据1.2.1申请注册key说明用户打开/wiki/static/mapws/placeapikey/页面,在此页面中申请注册key值。该key主要目的是判断用户请求的url是否合法,且限制用户1天发送的http请求数不能超过1000次。注册页面如下图:填写好信息后,点击生成API密钥按钮就获取到所需的key值了,申请的key值和应用程序名称相关联,既相同的应用程序名称返回的key值是一样的。特别注意:申请key之前会提示用户首先注册百度账号,只有拥有了百度账号,才能顺利的申请key值。1.2.2 http接口请求参数说明http接口请求参数主要包括:检索关键字、检索区域(3种选择形式)、输出结果类型(xml或json),如下表:参数是否必须默认值格式举例含义query(q)是无中关村、百度大厦检索关键字key是无8cb976834235d8cbcde2dce4835ae191用户申请注册的keybounds(bds)可选无38.76623,116.43213,39.54321,116.46773检索矩形区域location可选无38.76623,116.43213周边检索中心点radius(r) 可选无2000周边检索半径,单位米region可选无北京检索城市名称:可以是xxx市或xxx县,目前只支持市和县两种形式,像xx省、xx乡还不支持。output否xmljson 或 xml输出格式json或xml上表中,检索区域参数有3种形式可以指定,分别是:bounds、location+radius和region,请求的url中,这3种形式的检索区域参数必须指定一种。如果3种形式的检索区域参数都指定了,优先选择bounds区域参数,其次是location+radius区域参数,最后是region区域参数。对于query和region参数,因为这两个参数取值可以是中文或一些特殊字符(如:空格),举例:query可以取值“小吃”,region可以取值“北京”,为了避免提交到后台乱码,所以对于这2个参数值进行编码处理,编码成 UTF-8 字符的二字符十六进制值。 query和region参数取值时候,凡是不在下表中的字符都要进行编码。字符集合字符URL非保留字a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 - _ . URL保留字! * ( ) ; : & = + $ , / ? % # 如果query和region参数中使用URL保留字字符的字面意思,例如:query关键字取值为“?小吃”,检索关键字包含了一个问号,此问号也必须进行编码, “?”的16进制编码为“%3F”,所以整个检索关键字“?小吃”编码后为“%3F%E5%B0%8F%E5%90%83”。附注:(1) javascript中一般采用encodeURIComponent函数对特殊字符进行编码。(2) C#中可以使用函数URLEncoder.encode对特殊字符进行编码。(3) Java中可以使用函数HttpUtility.UrlEncode对特殊字符进行编码。(4) php中可以使用函数urlencode对特殊字符进行编码。1.2.3 http接口返回数据说明http接口返回数据如下表:status: OK, results: name: 名称, position: lat: 纬度:数值, lng: 经度:数值 , address: 地址, telephone: 电话, , more.status字段取值有3种,分别是:OK: 成功INVILID_KEY: 非法密钥,用户没有使用key参数或key参数错误。 INVALID_PARAMETERS: 非法参数,用户指定的query、(bounds;location+radius;region)、output参数有错误或缺少参数。用户请求的参数正确,会返回20条满足条件的结果,如果检索条件区域内不足20条记录,那就输出实际检索到的记录数。1.2.4 http接口示例 浏览器中使用示例1 矩形区域检索(输出json数据):/place/search?&query=%E9%93%B6%E8%A1%8C&bounds=39.915,116.404,39.975,116.414&output=json&key=8cb976834235d8cbcde2dce4835ae1912 周边区域检索(输出xml数据)/place/search?&query=%E9%93%B6%E8%A1%8C&location=39.915,116.404&radius=2000&output=xml&key=8cb976834235d8cbcde2dce4835ae1913 指定城市内检索(输出xml数据)/place/search?&query=%E9%93%B6%E8%A1%8C®ion=%E6%B5%8E%E5%8D%97&output=xml&key=8cb976834235d8cbcde2dce4835ae19 应用程序中使用示例1 Java中调用:import java.util.List;import java.io.InputStreamReader;import .HttpURLConnection;import .URL;import .URLEncoder;import org.jdom.Document;import org.jdom.Element;import org.jdom.input.SAXBuilder;public class httpTest public static void main(String args) URL url = null;HttpURLConnection httpurlconnection = null;try String strChinese = URLEncoder.encode(银行, utf-8); /汉字编码为16进制 utf-8形式url = new URL(/place/search?query= + strChinese + &bounds=39.876804,116.125040,39.952953,116.682708&output=xml&key=8cb976834235d8cbcde2dce4835ae191);/ 以get方式请求httpurlconnection = (HttpURLConnection) url.openConnection();httpurlconnection.setDoOutput(true);httpurlconnection.setRequestMethod(GET);/ 获取到输入流InputStreamReader inputStreamReader = new InputStreamReader(httpurlconnection.getInputStream(), utf-8);/ 解析xmlSAXBuilder sax = new SAXBuilder();Document doc = sax.build(inputStreamReader);Element root = doc.getRootElement(); / PlaceSearchResponse节点Element eleResults = root.getChild(results);List lstRs = eleResults.getChildren(result);for (int i = 0; i lstRs.size(); i+) Element ele = (Element) lstRs.get(i);System.out.println(ele.getValue();System.out.println(n);System.out.println(共计: + lstRs.size() + 条记录!); catch (Exception e) e.printStackTrace(); finally if (httpurlconnection != null)httpurlconnection.disconnect();2 C#中调用:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml;using System.Net;using System.Web;namespace httpTest class Program static void Main(string args) /此类在.net2.0下的system.web.dll中,需先添加该引用,具体操作如下: //c/2011/06/QYUVGI4I8GTWSQBP.asp string strChinese = HttpUtility.UrlEncode(餐厅);/编码成utf-8 16进制形式的汉字 /Console.WriteLine(strChinese); string strURL = /place/search?&query= + strChinese + &bounds=39.915,116.404,39.975,116.414&output=xml&key=8cb976834235d8cbcde2dce4835ae191; WebClient _client = new WebClient(); System.IO.Stream objStream = _client.OpenRead(strURL); System.IO.StreamReader _read = new System.IO.StreamReader(objStream, System.Text.Encoding.UTF8); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(_read); XmlNode statusNode = xmlDoc.SelectSingleNode(/PlaceSearchResponse/status); int count = 0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 神经内科设备培训
- 校园宿舍闲置空地的利用设计
- 车辆借用与租赁车辆保险理赔责任合同范本
- 商业地产项目场地承包经营合作协议书
- 餐饮企业员工劳动合同范本及培训考核合同
- 特色主题餐厅经营合作协议
- 党建联学共建项目合作协议书
- 车辆抵押担保汽车维修担保服务合同
- 汽车抵押典当贷款业务合作协议
- 车棚租赁与停车诱导系统合作协议
- 水工混凝土建筑物修补加固技术规程
- 经皮冠状动脉介入治疗术术后健康饮食宣教
- 【语文】福建省厦门市演武小学小学二年级下册期末试题
- 2021-2022学年山东省东营市广饶县七年级(下)期末英语试卷(五四学制)(附答案详解)
- 卧式常压热水锅炉使用说明书
- (完整版)新人教版英语七年级下册单词听写表
- 酒店住宿水单模板2020
- 23J916-1:住宅排气道(一)
- 第十章开箱包检查课件
- 物业公司权责手册市场拓展
- 小学生小升初中自荐信5篇
评论
0/150
提交评论