基于百度API使用经纬度反查位置信息, 百度API密钥申请
1:百度API密钥申请
打开http://lbs.baidu.com/
注册成为百度开发者,通过邮件验证。打开http://lbs.baidu.com/apiconsole/key#/home 应用管理–创建应用–应用类型为服务端时 Ip填写0.0.0.0/0;应用类型为浏览器端时,IP填*. 这里我们需要创建浏览器端的应用,创建成功即可得到ak码。
2;依据经纬度信息查询地址信息
import json
import requests
from urllib.request import urlopen, quote
ak = 'ak'address = '郑州市郑州大学'url= 'http://api.map.baidu.com/geocoder?output=json&key=f247cdb592eb43ebac6ccd27f796e2d2&address='+str(address)
response = requests.get(url)
answer = response.json()
lon = float(answer['result']['location']['lng'])
lat = float(answer['result']['location']['lat'])
print(address,lat,lon)
print('**********************************************')
print(' ')ur=r'http://api.map.baidu.com/reverse_geocoding/v3/?ak='+ak+'&output=json&coordtype=wgs84ll&location=31.225696,121.49884'
params = {'location': str(lat) + ',' + str(lon), 'output': 'json'}
res = requests.get(ur, params=params)
result = res.json()
print(result)
print('--------------------------------------------')#result = result['result']['formatted_address'] + ',' + result['result']['sematic_description']
result = result['result']['addressComponent']['city']
首先根据地址查询经纬度,再根据经纬度反查地址,以郑州大学为例(为了精确的获取经纬度,避免同名,最好加上省市等信息)

可以看到依据经纬度反查地址基本可信。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
