当前位置: 首页 > article >正文

Vue3+nuxt+ts项目引入高德地图API实现步骤

看了好多相关的文章都没有完全贴合选用Vue3+nuxt+ts框架的,也不太靠谱,只好自己踩坑实现了

首先去高德开放平台用自己的账号申请一个key,位置如下,申请好后保存好生成的key

在这里插入图片描述

我们使用@vuemap/vue-amap,一个高德地图2.0版本的vue3对应封装

官方文档地址:@vuemap/vue-amap

首先进行npm安装:

// 安装核心库
npm install @vuemap/vue-amap --save

// 安装loca库
npm install @vuemap/vue-amap-loca --save

// 安装扩展库
npm install @vuemap/vue-amap-extra --save

由于我们使用了nuxt框架,组件库内部使用的插件会使用部分特殊的对象,比如process、window。因此在使用时需要根据Nuxt要求处理加载顺序和对象的默认值处理。

在根目录的utils文件夹下创建mapLoadUtil.ts文件,根据自己项目的规范在其他目录创建也可以

在这里插入图片描述

// mapLoadUtil.ts
import { initAMapApiLoader } from '@vuemap/vue-amap'

export function initMapApi() {
  initAMapApiLoader({
    key: '8ebf03a11b7b41282f601df648cd0ecc'
  })
}

在nuxt配置文件nuxt.config.ts中添加或修改css引入

// nuxt.config.ts
export default defineNuxtConfig({
  css: ['@vuemap/vue-amap/dist/style.css'],
})

在需要用到地图的页面或封装的组件中引入:

onBeforeMount中加载JSAPI。同时组件需要放入ClientOnly组件中。

html:

		<!-- mapComponents.vue -->
        <div class="map-container">
          <ClientOnly>
            <ElAmap></ElAmap>
          </ClientOnly>
        </div>

js:

import { initMapApi } from '@/utils/mapLoadUtil'
import { onBeforeMount } from 'vue'
import { ElAmap } from '@vuemap/vue-amap'

onBeforeMount(() => {
  initMapApi()
})

css:

.map-container{
  height: 500px;
}

展示效果:

在这里插入图片描述
OK完成,剩下的就根据项目需求调整地图参数即可,具体参考高德地图JSAPI 2.0

高德地图 JSAPI 2.0


http://www.kler.cn/a/159135.html

相关文章:

  • 基于Lora通讯加STM32空气质量检测WIFI通讯
  • 联通大数据面试题及参考答案
  • leetcode 扫描线专题 06-leetcode.253 meeting room ii 力扣.253 会议室 II
  • 通过地址获取LONG和LAT并且存入csv
  • Spring整合Redis
  • 《Java核心技术 卷I》用户界面AWT事件继承层次
  • 一文读懂中间件
  • 【LeetCode热题100】【双指针】接雨水
  • Mybatis XML 配置文件
  • HarmonyOS学习--TypeScript语言学习(二)
  • 【Java GUI 窗体开发实践】基于抽象模板设计模式下实现Windows SSH连接Linux服务器
  • 2023美图创造力大会开幕,美图发布AI视觉大模型4.0
  • 根据字符出现频率排序 (哈希表,map,cmp,sort,遍历)
  • 微服务学习(十三):安装Consul
  • L.next与L->next
  • Linux--初识和基本的指令(3)
  • Linux socket编程(11):Unix套接字编程及通信例子
  • 把 Windows 11 装进移动硬盘:Windows 11 To Go
  • 报错:Parsed mapper file: ‘file mapper.xml
  • Java中迭代Map和List最简单直接办法
  • Kafka 生产者 API 指南:深入理解生产者的实现与最佳实践
  • Python智能语音识别语翻译平台|项目后端搭建
  • 前端时间的失败总结复盘
  • 深度学习在单线性回归方程中的应用--TensorFlow实战详解
  • 十二、FreeRTOS之FreeRTOS任务相关API函数
  • 电子学会C/C++编程等级考试2023年03月(四级)真题解析