Python使用高德地图绘制经纬度坐标位置

import numpy as np
import folium
from folium import plugins


def PlotLineOnMap():
    # 给出的坐标系为GCJ-02,如果需要测试google地图,需要进行坐标转换
    Lat = [40.8352, 40.8342, 40.8335, 40.8323, 40.8311, 40.8308, 40.8304, 40.8315, 40.8325, 40.8332, 40.8339, 40.8345,
           40.8352]
    Lon = [114.8886, 114.8883, 114.8881, 114.8877, 114.8873, 114.8888, 114.8902, 114.8909, 114.8916, 114.8919, 114.8922,
           114.8917, 114.8886]
    tri = np.array(list(zip(Lat, Lon)))

    san_map = folium.Map(
        location=[40.8329, 114.8898],
        zoom_start=16,
        # 高德街道图
        tiles='http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}',
        # tiles='http://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}', # 高德卫星图
        attr='default')

    folium.PolyLine(tri, color='#3388ff').add_to(san_map)
    marker_cluster = plugins.MarkerCluster().add_to(san_map)
    for lat, lon in zip(Lat, Lon):
        folium.Marker([lat, lon], color='red').add_to(marker_cluster)
    san_map.save('test.html')


def main():
    PlotLineOnMap()


if __name__ == '__main__':
    main()

在这里插入图片描述
参考文献

要在高德地图绘制路线图,可以使用高德地图的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文件,其中包含了在高德地图绘制好的路线图。您可以在浏览器中打开该文件,查看绘制好的路线图。 请根据您的实际需求修改起点和终点的经纬度以及其他参数,以生成对应的路线图。希望对您有帮助!
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源代码杀手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值