关于如何在Hbuilder X上实现高德地图并且在上面绘制路线

首先我们需要先去申请高德地图API的Key

这是连接:

申请高德地图API的Key并加以接口调用的方法_高德地图 key-CSDN博客

然后,打开Hbuilder X

打开终端,终端需要下载;

在终端中使用npm命令:

npm install @amap/amap-jsapi-loader

最后展示代码

<template>
  <div id="container"></div>
</template>
<script>
import AMapLoader from "@amap/amap-jsapi-loader";

export default {
  name: "map-view",
  data() {  
      return {  
        map: null,  
        polyline: null,  
        marker: null,  
        trajectoryPoints: [  
          [116.397428, 39.90923],  
          [116.403322, 39.916527],  
          // 更多轨迹点...  
        ],  
      };  
    },
  mounted() {
    this.initAMap();
  },
  unmounted() {
    this.map?.destroy();
  },
  methods: {
    initAMap() {
      window._AMapSecurityConfig = {
        securityJsCode: "安全密钥",
      };
      AMapLoader.load({
        key: "Your Key", // 申请好的Web端开发者Key,首次调用 load 时必填
        version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
        plugins: ["AMap.Scale"], //需要使用的的插件列表,如比例尺'AMap.Scale',支持添加多个如:['...','...']
      })
        .then((AMap) => {
          this.map = new AMap.Map("container", {
            // 设置地图容器id
            viewMode: "3D", // 是否为3D地图模式
            zoom: 20, // 初始化地图级别
           // center: [105.602725, 37.076636] //初始化地图中心点位置 不设置默认是北京
                   mapStyle: 'amap://styles/macaron' // 设置地图样式 远山黛
          }); 
		    // 假设的轨迹点数组  
		          const path = [  
		            [114.299749, 30.59468],   
		            [114.380367, 34.053455]  
		          ];  
		      
		          // 绘制轨迹  
		          const polyline = new AMap.Polyline({  
		            path: path, // 设置线路坐标数组  
		            strokeColor: "#3366FF", // 线条颜色  
		            strokeOpacity: 1, // 线条透明度  
		            strokeWeight: 6, // 线条宽度  
		            // 还可以设置线型样式,如:lineDash: [10, 5],  
		          });  
		          this.map.add(polyline);  
		      
		          // 添加小车图标  
		          const marker = new AMap.Marker({  
		            position: path[0], // 将小车放在轨迹的第一个点上  
		            icon: require('@/images/car.png'), // 小车图标URL  
		            offset: new AMap.Pixel(-13, -30), // 图标显示偏移  
		          });  
		          this.map.add(marker);  
		          
        })
        .catch((e) => {
          console.log(e);
        });
    },
  },
};
</script>
<style scoped>
#container {
  width: 100%;
  height: 800px;
}
</style>

效果如下:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值