普通IP定位是一套以HTTP/HTTPS形式提供的轻量级定位接口,用户可以通过该服务,根据IP定位来获取大致位置。
目前该服务同时支持 IPv4 和 IPv6 来获取位置信息。
利用IP获取大致位置,调用API接口,返回请求参数中指定上网IP的大致位置信息(一般为城市级别),位置信息包括:经纬度、省、市等地址信息。
普通IP定位服务目前不支持海外场景。
如果请求参数中未指定上网IP,则默认返回当前服务请求来源的IP所对应的大致位置信息。
注意:该服务所返回的经纬度信息只是一个大概的位置,一般为城市中心点。
适用于对定位精度要求不高的IP请求定位的应用。
如果您的应用为Android Native App,建议使用Android定位SDK,定位效果最佳,精度可达到10m,且无任何使用配额及并发量的限制。
https://api.map.baidu.com/location/ip?ak=您的AK&ip=您的IP&coor=bd09ll //GET请求 https://api.map.baidu.com/location/ip?ak=您的AK&ip=您的IP&coor=bd09ll //GET请求
请求参数:
参数名称 | 参数含义 | 类型 | 备注 |
---|---|---|---|
|
用户上网的IP地址,请求中如果不出现或为空,会针对发来请求的IP进行定位。 如您需要通过IPv6来获取位置信息,请提交工单申请。 |
|
|
|
开发者密钥,可在API控制台申请获得 | |
|
|
若用户所用AK的校验方式为SN校验时该参数必填。其他AK校验方式的可不填写 | |
|
|
设置返回位置信息中,经纬度的坐标类型,分别如下: coor不出现、或为空:百度墨卡托坐标,即百度米制坐标 coor = bd09ll:百度经纬度坐标,在国测局坐标基础之上二次加密而来 coor = gcj02:国测局02坐标,在原始GPS坐标基础上,按照国家测绘行业统一要求,加密后的坐标 注意:百度地图的坐标类型为bd09ll,如果结合百度地图使用,请注意坐标选择 |
|
|
返回结果(JSON格式):
结果字段 | 字段含义 | 类型 | ||
address | 详细地址信息 | string | ||
content | address | 简要地址信息 | string | |
address_detail | city | 城市 | string | |
city_code | 百度城市代码 | string | ||
province | 省份 | string | ||
point | x | 当前城市中心点经度 | string | |
y | 当前城市中心点纬度 | string | ||
status | 结果状态返回码,请参考本章节后面的介绍 | string |
返回结果示例:
{ address: "CN|北京|北京|None|CHINANET|1|None", #详细地址信息 content: #结构信息 { address: "北京市", #简要地址信息 address_detail: #结构化地址信息 { city: "北京市", #城市 city_code: 131, #百度城市代码 province: "北京市", #省份 }, point: #当前城市中心点 { x: "116.39564504", #当前城市中心点经度 y: "39.92998578" #当前城市中心点纬度 } }, status: 0 #结果状态返回码 }
状态码 | 定义 | 注释 |
0 | 正常 | |
1 | 服务器内部错误 | 该服务响应超时或系统内部错误 |
10 | 上传内容超过8M | Post上传数据不能超过8M |
101 | AK参数不存在 | 请求消息没有携带AK参数 |
102 | Mcode参数不存在,mobile类型mcode参数必需 | 对于Mobile类型的应用请求需要携带mcode参数,该错误码代表服务器没有解析到mcode |
200 | APP不存在,AK有误请检查再重试 | 根据请求的AK,找不到对应的APP |
201 | APP被用户自己禁用,请在控制台解禁 | |
202 | APP被管理员删除 | 恶意APP被管理员删除 |
203 | APP类型错误 | 当前API控制台支持Server(类型1), Mobile(类型2, 新版控制台区分为Mobile_Android(类型21)及Mobile_IPhone(类型22)及Browser(类型3),除此之外的其他类型被认为是APP类型错误 |
210 | APP IP校验失败 | 在申请Server类型应用的时候选择IP校验,需要填写IP白名单,如果当前请求的IP地址不在IP白名单或者不是0.0.0.0/0就认为IP校验失败 |
211 | APP SN校验失败 | SERVER类型APP有两种校验方式:IP校验和SN校验,当用户请求的SN和服务端计算出来的SN不相等的时候,提示SN校验失败 |
220 | APP Referer校验失败 | 浏览器类型的APP会校验referer字段是否存在,且在referer白名单里面,否则返回该错误码 |
230 | APP Mcode码校验失败 | 服务器能解析到mcode,但和数据库中不一致,请携带正确的mcode |
240 | APP 服务被禁用 | 用户在API控制台中创建或设置某APP的时候禁用了某项服务 |
250 | 用户不存在 | 根据请求的user_id, 数据库中找不到该用户的信息,请携带正确的user_id |
251 | 用户被自己删除 | 该用户处于未激活状态 |
252 | 用户被管理员删除 | 恶意用户被加入黑名单 |
260 | 服务不存在 | 服务器解析不到用户请求的服务名称 |
261 | 服务被禁用 | 该服务已下线 |
301 | 永久配额超限,限制访问 | 配额超限,如果想增加配额请联系我们 |
302 | 天配额超限,限制访问 | 配额超限,如果想增加配额请联系我们 |
401 | 当前并发量已经超过约定并发配额,限制访问 | 并发控制超限,请控制并发量请联系我们 |
402 | 当前并发量已经超过约定并发配额,并且服务总并发量也已经超过设定的总并发配额,限制访问 | 并发控制超限,请控制并发量请联系我们 |
1001 | 没有IPv6地址访问的权限 | 如需通过IPv6来获取位置信息,请提交工单申请 |
每一个开发者帐号每天使用普通IP定位服务的使用次数是有限的,即配额有限;
每一个开发者帐号在每分钟内使用普通IP定位服务的次数是有限的,即并发量有限;
同一个帐号下的HTTP/HTTPS请求、配额、并发共享;
服务相关配额及并发请访问开发者权益页面查看。
注册成为百度地图开放平台的开发者后,即可成为未认证开发者,此时普通IP定位API服务可正常使用,只是每天所能够调用请求的次数和并发量较低。可通过开发者认证,成为个人或企业认证开发者,服务配额及并发量会大幅度提升。
普通IP定位效果一般,只能针对IP返回大致位置信息,适用于对位置精度要求不高的应用。
如果您的应用为Android Native App,建议使用Android定位SDK,定位效果最佳,精度可达到10m,且无任何使用配额及并发量的限制。
普通IP定位API只能够根据开发者输入的IP,返回大致的位置信息,一般是城市级别的。结果中的经纬度坐标,一般为当前IP所在城市中心点的坐标。
普通IP定位API服务与其他API服务一样,具有每天使用配额和并发次数的限制。如果您的使用配额或并发不能满足业务使用需求,可以通过认证个人/企业开发者的方式,提升配额。如果您已经是企业认证开发者,配额/并发依然不够使用,可在API控制台-额度管理中进行购买。
如果您是Android或iOS移动应用的开发者,我们推荐您使用Android/iOS端定位SDK产品。定位SDK产品是专门针对移动端Native App设计的,具有定位成功率高、速度快、精度高、流量小的特点。此外,SDK产品没有使用配额限制。
2013年7月5日
V1.0
2016年9月26日
V2.0
2017年4月12日
V3.0
2020年1月10日
IPv6
返回值支持返回百度经纬度坐标(默认返回是墨卡托坐标)
普通IP定位API服务,全面支持HTTPS协议类型访问
普通IP定位服务,支持返回GCJ02类型城市中心点坐标
通过IP获取经纬度、省、市等信息