跨平台使用高德地图服务

高德地图-初始化

目标:注册高德地图开放平台并初始化地图

步骤:

参考文档

流程:

  1. 注册&认证个人开发者===>创建web应用====>得到 key 和 jscode
  • key 7ad7e9d1784a9905562e90c73c679503
  • jscode ae504add6495e6e5f6aa3ae5ef3f4a6d
  1. 在vue3项目中使用

代码:

1.按 NPM 方式使用 Loader,安装

TypeScript 复制代码
pnpm i @amap/amap-jsapi-loader

2.配置安全密钥 securityJsCode

medicine/OrderExpress.vue

TypeScript 复制代码
// v2.0 需要配置安全密钥jscode
window._AMapSecurityConfig = {
  securityJsCode: ' '//加入密钥
}

3.扩展 Window 的类型

types/global.d.ts

TypeScript 复制代码
interface Window {
  _AMapSecurityConfig: {
    securityJsCode: string
  }
}

4.组件初始化的时候:加载高德地图需要的资源

Medicine/OrderExpress.vue

TypeScript 复制代码
import AMapLoader from '@amap/amap-jsapi-loader'

onMounted(async () => {
  // ... 省略 ...
  AMapLoader.load({
    key: '7ad7e9d1784a9905562e90c73c679503',
    version: '2.0'
  }).then((AMap) => {
    // 使用 Amap 初始化地图
  })
})

5.初始化地图,参考demo示例

TypeScript 复制代码
const app = new AMap.Map("map",{ //设置地图容器id
  zoom:12, //初始化地图级别
  mapStyle: 'amap://styles/whitesmoke' // 设置地图样式
});


<view id="map">...</view>

高德地图-物流轨迹

实现:使用高德地图api绘制物流轨迹

步骤:

  • 绘制轨迹
  • 绘制起点和终点位置

代码:

  1. 根据 参考示例-使用经纬度获取驾车规划数据,获取路线规划方案

说明❓:通过插件引入

TypeScript 复制代码
AMap.plugin('AMap.Driving', () => {
    const driving = new AMap.Driving({
      map: map, // 指定轨迹显示地图实例
      showTraffic: false // 关闭交通状态
    })
    // 开始位置坐标
    const startLngLat = [116.379028, 39.865042]
    // 结束位置坐标
    const endLngLat = [116.427281, 39.903719]

    driving.search(startLngLat, endLngLat, function (status: string, result: object) {
      // 未出错时,result即是对应的路线规划方案
    })
})
相关推荐
lvchaoq27 分钟前
页面停留时间过长导致token过期问题
前端
兔老大的胡萝卜29 分钟前
pm2 部署nuxt4项目
javascript·nuxt4
阿蒙Amon32 分钟前
JavaScript学习笔记:17.闭包
javascript·笔记·学习
elangyipi12332 分钟前
深入理解前端项目中的 package.json 和 package-lock.json
前端·json
Wpa.wk34 分钟前
自动化测试 - 文件上传 和 弹窗处理
开发语言·javascript·自动化测试·经验分享·爬虫·python·selenium
l1t36 分钟前
利用小米mimo为精确覆盖矩形问题C程序添加打乱函数求出更大的解
c语言·开发语言·javascript·人工智能·算法
焦糖玛奇朵婷43 分钟前
扭蛋机小程序:线上扭蛋机模式发展新形势[特殊字符]
大数据·数据库·程序人生·小程序·软件需求
LYFlied44 分钟前
【算法解题模板】-【回溯】----“试错式”问题解决利器
前端·数据结构·算法·leetcode·面试·职场和发展
composurext1 小时前
录音切片上传
前端·javascript·css
程序员小寒1 小时前
前端高频面试题:深拷贝和浅拷贝的区别?
前端·javascript·面试