python百度地图baidumap计算params经纬度的方法
时间: 2024-02-03 11:02:35 浏览: 109
可以使用Python中的requests模块向百度地图API发送GET请求,获取经纬度的params参数。以下是一个示例代码:
```python
import requests
import hashlib
# 输入你的百度地图开放平台的ak和sk
ak = "your_ak"
sk = "your_sk"
# 输入你要查询的地址
address = "北京市海淀区上地十街10号"
# 计算sn参数
queryStr = f"/geocoding/v3/?address={address}&output=json&ak={ak}"
encodedStr = urllib.parse.quote(queryStr, safe="/:=&?#+!$'@()*[]")
rawStr = encodedStr + sk
sn = hashlib.md5(rawStr.encode()).hexdigest()
# 发送GET请求,获取params参数
url = f"http://api.map.baidu.com/geocoding/v3/?address={address}&output=json&ak={ak}&sn={sn}"
response = requests.get(url)
result = response.json()
# 获取经纬度
lng = result["result"]["location"]["lng"]
lat = result["result"]["location"]["lat"]
print(f"经度: {lng}, 纬度: {lat}")
```
在这个示例中,我们首先输入了你的百度地图开放平台的ak和sk,然后输入你要查询的地址。接下来,我们计算了sn参数,在发送GET请求时将其作为参数传递给百度地图API。最后,我们从API的响应中获取经纬度信息,并输出到控制台上。
阅读全文