高德地图-绘制路线

本文详细介绍了如何使用高德地图JS API进行地图应用开发,包括地图初始化、添加景点标记、绘制与编辑矢量路线,以及实现路线动画飞行。每个步骤都提供了具体的实践操作和参考资料。
摘要由CSDN通过智能技术生成

高德地图-绘制路线

效果如下图:

绘制景点之前的路线

步骤一:使用高德地图 JS API 开发地图应用之前的一些准备工作

1.1. 在页面添加 JS API 的入口脚本标签,并将其中「您申请的key值」替换为您刚刚申请的 key;

HTML
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.14&key=您申请的key值"></script> 

1.2. 添加div标签作为地图容器,同时为该div指定id属性;

HTML
<div id="container"></div> 

1.3.为地图容器指定高度、宽度;

CSS
#container {
   width:300px; height: 180px; }  

1.4. 进行移动端开发时,请在head内添加viewport设置,以达到最佳的绘制性能;

HTML
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"> 

步骤二:创建地图及添加景点标记

2.1创建地图

JavaScript
var map = new AMap.Map('container',{
   
    zoom: 10,  //设置地图显示的缩放级别
    center: [116.397428, 39.90923],//设置地图中心点坐标
    layers: [new AMap.TileLayer.Satellite()],  //设置图层,可设置成包含一个或多个图层的数组
    mapStyle: 'amap://styles/whitesmoke',  //设置地图的显示样式
    viewMode: '2D',  //设置地图模式
    lang:'zh_cn',  //设置地图语言类型
});
构造函数 说明 是否插件
AMap.Map(container:String/HTMLDivElement, opts:MapOptions) 构造一个地图对象,参数container中传入地图容器DIV的ID值或者DIV对象,opts地图初始化参数对象
MapOptions 类型 说明
view View2D 地图视口,用于控制影响地图静态显示的属性,如:地图中心点“center”推荐直接使用zoom、center属性为地图指定级别和中心点
layers Array 地图图层数组,数组可以是图层 中的一个或多个,默认为普通二维地图。当叠加多个图层时,普通二维地图需通过实例化一个TileLayer类实现
zoom Number 地图显示的缩放级别
center LngLat 地图中心点坐标值
labelzIndex Number 地图标注显示顺序,大于110即可将底图上的默认标注显示在覆盖物(圆、折线、面)之上。
zooms Array 地图显示的缩放级别范围在PC上,默认为[3,18],取值范围[3-18];在移动设备上,默认为[3,19],取值范围[3-19]
lang String 地图语言类型可选值:zh_cn:中文简体,en:英文,zh_en:中英文对照默认为: zh_cn:中文简体注:由于图面内容限制,中文、英文 、中英文地图POI可能存在不一致的情况

2.2.自定义景点标记

(链接参考:https://lbs.amap.com/api/javascript-api/example/marker/adaptive-show-multiple-markers)

JavaScript
 map.clearMap();  // 清除地图覆盖物
    //景点数据(后台数据)
    var markers = [{
   
        icon: '//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-1.png',
        position: [116.205467, 39.907761]
    }, {
   
        icon: '//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-2.png',
        position: [116.368904, 39.913423]
    }, {
   
        icon: '//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-3.png',
        position: [116.305467, 39.807761]
    }];

    // 添加一些分布不均的点到地图上,地图上添加三个点标记,作为参照
    markers.forEach(function(marker) {
   
        new AMap.Marker({
   
            map: map,
            icon: marker.ico
要在高德地图绘制路线图,可以使用高德地图的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文件,其中包含了在高德地图绘制好的路线图。您可以在浏览器中打开该文件,查看绘制好的路线图。 请根据您的实际需求修改起点和终点的经纬度以及其他参数,以生成对应的路线图。希望对您有帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值