百度地图ip定位,不算bug的bug
2014-05-06 00:07
211 查看
做为一个入行不足两年的菜鸟,能在博客园写下第一篇博客,是需要多大的勇气啊。主要还是怕大神们喷啊。其次自己文笔实在太差了。 哈哈~还请各位大神,口下留情啊。
首先说下我的需求:一个需要城市分站的手机站。 当用户访问时自动定位到用户所在的城市。因为之前做微信开发的时候,研究过一段时间的百度地图api,拿到这个需求后,第一时间想到的就是ip定位api. 先贴出百度官方的说明:
IP定位 API是一个根据IP返回对应位置信息的http形式位置服务接口,支持多种语言调用,如C# 、C++、Java等,即通过发送http请求,返回json格式的位置数据(包括坐标值、省份、城市、百度城市代码等)。
提供根据IP返回位置信息的功能,包括如下两种情况:
1.获取指定IP的位置信息:指定IP值,返回该IP对应的位置信息;
2.获取当前设备IP的地址信息:根据用户设备当前的IP返回位置信息;
第二步,拼写发送http请求的url,注意需使用第一步申请的ak;
第三步,接收http请求返回的数据(json格式)。
源码复制打印关于
{
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 #返回状态码
}
我的实现流程是在页面加载的时候,模拟执行http请求,根据返回值,判断当前所在的城市。然后显示不同城市的数据。
View Code
由于要客户端执行,要考虑跨域的问题,所以在地址的后面要加上&callback=?,这样就可以调用接口返回来的信息了。
写完收工,大神请悠着点喷。欢迎指点。
还有,大家觉得这个算是一个bug吗?
首先说下我的需求:一个需要城市分站的手机站。 当用户访问时自动定位到用户所在的城市。因为之前做微信开发的时候,研究过一段时间的百度地图api,拿到这个需求后,第一时间想到的就是ip定位api. 先贴出百度官方的说明:
IP定位 API是一个根据IP返回对应位置信息的http形式位置服务接口,支持多种语言调用,如C# 、C++、Java等,即通过发送http请求,返回json格式的位置数据(包括坐标值、省份、城市、百度城市代码等)。
提供根据IP返回位置信息的功能,包括如下两种情况:
1.获取指定IP的位置信息:指定IP值,返回该IP对应的位置信息;
2.获取当前设备IP的地址信息:根据用户设备当前的IP返回位置信息;
使用方法
第一步,申请密钥(ak) ,作为访问服务的依据;第二步,拼写发送http请求的url,注意需使用第一步申请的ak;
第三步,接收http请求返回的数据(json格式)。
服务地址
URL:http://api.map.baidu.com/location/ip
接口参数
参数 | 含义 | 格式 | 说明 |
---|---|---|---|
ip | ip地址 | string | 可选,ip不出现,或者出现且为空字符串的情况下,会使用当前访问者的IP地址作为定位参数 |
ak | 用户密钥 | string | 必选,在lbs云官网注册的access key,作为访问的依据 |
sn | 用户的权限签名 | string | 可选,若用户所用ak的校验方式为sn校验时该参数必须。(sn生成算法) |
coor | 输出的坐标格式 | string | 可选,coor不出现时,默认为百度墨卡托坐标;coor=bd09ll时,返回为百度经纬度坐标 |
返回值说明
返回结果(地址解析的结果)源码复制打印关于
{
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 #返回状态码
}
我的实现流程是在页面加载的时候,模拟执行http请求,根据返回值,判断当前所在的城市。然后显示不同城市的数据。
<script src="/js/jquery-1.4.4.js"></script> <script> $(function () { $.getJSON("http://api.map.baidu.com/location/ip?ak=此处是百度地图分配的ak&callback=?", function (data) { alert(data.address); }) }) </script>
View Code
由于要客户端执行,要考虑跨域的问题,所以在地址的后面要加上&callback=?,这样就可以调用接口返回来的信息了。
写完收工,大神请悠着点喷。欢迎指点。
还有,大家觉得这个算是一个bug吗?
相关文章推荐
- 百度地图学习笔记---ip定位
- ip定位,百度地图地位
- 百度地图IP定位
- js-web跨域实现百度地图普通ip定位
- 百度地图高精度IP定位+手机定位js
- js百度地图WebAPI接口普通IP定位
- nodejs根据ip数组在百度地图中进行定位
- 百度地图---通过ip定位获取当前城市
- C#的百度地图开发(五)IP定位
- 集成百度地图bug,debug得到的结果是离线定位,但是什么都没有返回
- 关于百度地图GPS/IP定位的相关说明
- C#的百度地图开发 IP定位
- 根据IP(有代理的情况)定位城市以及通过nginx转发的tomcat如何得到用户真实的ip
- 百度地图定位无法获取location的经纬度
- 微信企业号开发:微信考勤百度地图定位,错误修正二
- swift地图定位(二十)百度地图的使用(POI)
- 百度地图----->地图类型、定位模式、实时交通、我的位置、添加覆盖物、覆盖物详情及提示
- duilib 修复combo控件打开下拉菜单后不会自动定位到上次选择的位置上的bug
- android 百度地图定位总结
- 百度地图定位