调用百度正逆地理编码 API
某些场景下需要通过不是很明确的地理位置选择或填写省市县,这时候调用百度正逆地理编码API可以很大程度解决这个问题(传入地址越详细,返回信息越准确)
开发之前首先要从百度地图开放平台获取 key 值 (即下文所用 ak)
http://lbsyun.baidu.com/apiconsole/key/create#/home
import requests
import json
'''
正向地理编码
'''
def geocoding(address):
request_url = “http://api.map.baidu.com/geocoding/v3/”
ak = “注册的百度 Key”
request_url = request_url + “?address=” + address + “&output=json&ak=” + ak
response = json.loads(requests.post(request_url).text)
'''
if response:
print(response[‘result’]['location'])
'''
return response[‘result’][‘location’]['lat'], response[‘result’][‘location’]['lng']
'''
逆向地理编码
'''
def reverse_geocoding(lat, lng):
request_url = “http://api.map.baidu.com/reverse_geocoding/v3/”
ak = “注册的百度 Key”
request_url = request_url + “?ak=” + ak + “&output=json&location=” + str(lat) + “,” + str(lng)
response = json.loads(requests.post(request_url).text)
# response = requests.post(request_url)
if response:
print(response[‘result’]['formatted_address'])
回帖内容已被屏蔽。
😄那没办法了,目前还真不知道有什么别的解决方案
这个好,不过我们这只有内网环境