vue项目中引入地图的详细教程

第一步:在项目中安装地图插件

html 复制代码
npm i @amap/amap-jsapi-loader --save  

第二步:创建一个容器 添加id属性 (因为地图必须使用id 不能使用class)

html 复制代码
 <div id="maps"></div>

第三步:给这个容器设置宽高

css 复制代码
#maps {
  width: 100%;
  height: calc(100vh - 400px);
}

第四步:在你写的页面引入高德地图

javascript 复制代码
import AMapLoader from "@amap/amap-jsapi-loader";

第五步:加载地图

javascript 复制代码
AMapLoader.load({
  key: "你的key值",
  version: "2.0",
})
  .then((AMap) => {
    // 调用地图渲染函数
    renderMap(AMap);
  })
  .catch((e) => {
    console.error(e); //加载错误提示
  });

第六步:创建地图渲染函数,之后地图的内容都需要写在这个函数中

javascript 复制代码
const renderMap = (AMap) => {
  const map = new AMap.Map("maps");
};

第七步;设置地图的中心点和级别

javascript 复制代码
const renderMap = (AMap) => {
  const map = new AMap.Map("maps", {
    zoom: 12,
    center: [113.978255, 35.281454],
    showIndoorMap: false,
  });
};

第八步:设置点标记到地图里

javascript 复制代码
  let Marker = new AMap.Marker({
    position: new AMap.LngLat(113.978255, 35.281454),
    icon: "https://pic.imgdb.cn/item/652a9187c458853aefe93f88.png",
    offset: new AMap.Pixel(-13, -30),
  });

  map.add(Marker);

最后一步:标记点点击事件 在事件中设置信息弹窗

javascript 复制代码
 Marker.on("click", () => {
    let infoWindow = new AMap.InfoWindow({
      content: `
        <div style="padding:10px;width:200px;">
            <h2 style="font-size:16px;line-height:30px;">中国建设银行</h2>
            <span style="font-size:14px;line-height:20px;">电话:136****5865</span>
            <p style="font-size:15px;">地址:河南省新乡市红旗区XXX 中国建设银行</p>
        </div>
      `,
      offset: new AMap.Pixel(3, -25),
    });

    infoWindow.open(map, [113.978255, 35.281454]);
  });

原创作者:吴小糖

创作时间:2023.10.16

相关推荐
程序员黑豆5 分钟前
鸿蒙应用开发之@Styles 装饰器:定义可复用的组件样式
前端·harmonyos
程序员码歌7 分钟前
我全程用 AI开发了一款微信小游戏,上线了
android·前端·游戏开发
咩咩啃树皮8 分钟前
第52篇:前端工程化完整体系精讲——Vite构建、模块化、打包原理、规范体系、面试终极通关
前端·面试·职场和发展
妙码生花9 分钟前
从 PHP 到 AI + Golang,程序员自救转型手记(四十八):菜单规则管理实现
前端·后端·ai编程
FogLetter11 分钟前
当JavaScript学会“分身术”:异步编程的进化简史
前端·javascript·面试
hunterandroid31 分钟前
[鸿蒙从零到一] HarmonyOS 分布式能力与设备协同实战:从发现设备到任务闭环
前端
lichenyang4531 小时前
从图片创作到本地可复现的 AIGC 全栈闭环:AIGC Creative Studio 实践复盘
前端·后端
牧艺1 小时前
别急着 Vibe Coding:AI 三小时写完需求后,我为什么宁愿多花一天
前端·agent·vibecoding
java1234_小锋1 小时前
Vue3+Vite简介以及构建第一个HelloWorld实例
前端·javascript·vue.js·vite
前进的搬砖er1 小时前
1.cesium 的基础知识篇
前端