百度普通IP定位是一套以HTTP/HTTPS形式提供的轻量级定位接口,用户可以通过该服务,根据IP定位来获取大致位置。
1.首先需要成为百度地图开放平台的注册用户。http://lbsyun.baidu.com/index.php
2. 申请Web服务API服务,在控制台创建一个应用:应用类型为浏览器端
3.创建好应用后你,将会得到一个访问应用(AK).
4.请求URL
http://api.map.baidu.com/location/ip?ip=xx.xx.xx.xx&ak=您的AK&coor=bd09ll
https://api.map.baidu.com/location/ip?ip=xx.xx.xx.xx&ak=您的AK&coor=bd09ll
比如:http://api.map.baidu.com/location/ip?ip=118.182.201.41&ak=你的AK&coor=bd09ll
请求参数:
参数名称 | 参数含义 | 类型 | 备注 |
---|---|---|---|
ip | 用户上网的IP地址,请求中如果不出现或为空,会针对发来请求的IP进行定位 | string | 可选 |
ak | 开发者密钥,可在API控制台申请获得 | string | 必填 |
sn | 若用户所用AK的校验方式为SN校验时该参数必填(什么是SN校验?)。其他AK校验方式的可不填写 | string | 可选 |
coor | 设置返回位置信息中,经纬度的坐标类型,分别如下: coor不出现、或为空:百度墨卡托坐标,即百度米制坐标 coor = bd09ll:百度经纬度坐标,在国测局坐标基础之上二次加密而来 coor = gcj02:国测局02坐标,在原始GPS坐标基础上,按照国家测绘行业统一要求,加密后的坐标 注意:百度地图的坐标类型为bd09ll,如果结合百度地图使用,请注意坐标选择 | string | 可选 |
返回数据格式:
{"address":"CN|\u7518\u8083|\u767d\u94f6|None|CHINANET|0|0","content":{"address":"\u7518\u8083\u7701\u767d\u94f6\u5e02","address_detail":{"city":"\u767d\u94f6\u5e02","city_code":35,"district":"","province":"\u7518\u8083\u7701","street":"","street_number":""},"point":{"x":"104.17124090","y":"36.54668171"}},"status":0}
返回结果(JSON格式):
结果字段 | 字段含义 | 类型 | ||
address | 详细地址信息 | string | ||
content | address | 简要地址信息 | string | |
address_detail | city | 城市 | string | |
city_code | 百度城市代码 | string | ||
district | 区县 | string | ||
province | 省份 | string | ||
street | 街道 | string | ||
street_number | 门牌号 | string | ||
point | x | 当前城市中心点经度 | string | |
y | 当前城市中心点纬度 | string | ||
status | 结果状态返回码,请参考本章节后面的介绍 | string |
返回结果实例 { address: "CN|北京|北京|None|CHINANET|1|None", #详细地址信息 content: #结构信息 { address: "北京市", #简要地址信息 address_detail: #结构化地址信息 { city: "北京市", #城市 city_code: 131, #百度城市代码 district: "", #区县 province: "北京市", #省份 street: "", #街道 street_number: "" #门牌号 }, point: #当前城市中心点 { x: "116.39564504", #当前城市中心点经度 y: "39.92998578" #当前城市中心点纬度 } }, status: 0 #结果状态返回码 }