做为一个入行不足两年的菜鸟,能在博客园写下第一篇博客,是需要多大的勇气啊。主要还是怕大神们喷啊。其次自己文笔实在太差了。 哈哈~还请各位大神,口下留情啊。

 

首先说下我的需求:一个需要城市分站的手机站。 当用户访问时自动定位到用户所在的城市。因为之前做微信开发的时候,研究过一段时间的百度地图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时,返回为百度经纬度坐标

 

 

 

 

 

返回值说明

 

返回结果(地址解析的结果)

 

  1. {  
  2.     address: "CN|北京|北京|None|CHINANET|1|None",   #地址  
  3.     content:       #详细内容  
  4.     {  
  5.     address: "北京市",   #简要地址  
  6.     address_detail:      #详细地址信息  
  7.     {  
  8.     city: "北京市",        #城市  
  9.     city_code: 131,       #百度城市代码  
  10.     district: "",           #区县  
  11.     province: "北京市",   #省份  
  12.     street: "",            #街道  
  13.     street_number: ""    #门址  
  14.     },  
  15.     point:               #百度经纬度坐标值  
  16.     {  
  17.     x: "116.39564504",  
  18.     y: "39.92998578"  
  19.     }  
  20.     },  
  21.     status: 0     #返回状态码  
  22. }   
  23.                   
  24.               

 

 

我的实现流程是在页面加载的时候,模拟执行http请求,根据返回值,判断当前所在的城市。然后显示不同城市的数据。

   百度地图ip定位,不算bug的bug

返回的结果如下:

1 {"address":"CN|\u6d59\u6c5f|None|None|CHINANET|None|None","content":{"address_detail":{"province":"\u6d59\u6c5f\u7701","city":"","district":"","street":"","street_number":"","city_code":29},"address":"\u6d59\u6c5f\u7701","point":{"y":"3374952.26","x":"13353719.99"}},"status":0}
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-10
  • 2022-03-02
  • 2022-12-23
猜你喜欢
  • 2022-02-27
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-19
相关资源
相似解决方案