python根据高德经纬度在高德地图上绘制路线图
时间: 2023-11-27 14:04:52 浏览: 467
要在高德地图上绘制路线图,可以使用高德地图的Web API和Python的第三方库requests。下面是一个示例代码,演示如何使用高德地图的Web API和requests库来获取路线数据并在地图上绘制:
```python
import requests
import folium
# 高德地图Web API的URL
url = 'https://restapi.amap.com/v3/direction/driving'
# 高德地图Web API的参数
params = {
'key': 'your_amap_api_key', # 替换为你自己的高德地图API密钥
'origin': '116.481028,39.989643', # 起点经纬度,格式为"经度,纬度"
'destination': '116.434446,39.90816', # 终点经纬度,格式为"经度,纬度"
}
# 发送GET请求获取路线数据
response = requests.get(url, params=params)
data = response.json()
# 解析路线数据
route = data['route']['paths'][0]['steps']
# 创建地图对象
m = folium.Map(location=[39.989643, 116.481028], zoom_start=13)
# 添加起点和终点标记
start_point = [39.989643, 116.481028]
end_point = [39.90816, 116.434446]
folium.Marker(location=start_point, icon=folium.Icon(color='green')).add_to(m)
folium.Marker(location=end_point, icon=folium.Icon(color='red')).add_to(m)
# 添加路线
for step in route:
polyline = step['polyline']
coordinates = polyline.split(';')
points = [[float(coord.split(',')[1]), float(coord.split(',')[0])] for coord in coordinates]
folium.PolyLine(locations=points, color='blue').add_to(m)
# 保存地图为HTML文件
m.save('route_map.html')
```
在这个示例代码中,我们首先使用requests库发送GET请求来获取路线数据。需要将`your_amap_api_key`替换为你自己的高德地图API密钥。然后,我们解析路线数据并提取出每个步骤的坐标点。接下来,我们使用folium库创建地图对象,并添加起点和终点的标记,以及每个步骤的路线。最后,我们使用`m.save`将地图保存为HTML文件。
运行该代码后,将生成一个名为`route_map.html`的HTML文件,其中包含了在高德地图上绘制好的路线图。您可以在浏览器中打开该文件,查看绘制好的路线图。
请根据您的实际需求修改起点和终点的经纬度以及其他参数,以生成对应的路线图。希望对您有帮助!
阅读全文