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

第一步:在项目中安装地图插件
复制代码
npm i @amap/amap-jsapi-loader --save  
第二步:创建一个容器 添加id属性 (因为地图必须使用id 不能使用class)
复制代码
 <div id="maps"></div>
第三步:给这个容器设置宽高
复制代码
#maps {
  width: 100%;
  height: calc(100vh - 400px);
}
第四步:在你写的页面引入高德地图
复制代码
import AMapLoader from "@amap/amap-jsapi-loader";
第五步:加载地图
复制代码
复制代码
   AMapLoader.load({
     key: "你的key值",
     version: "2.0",
   })
     .then((AMap) => {
       // 调用地图渲染函数
       renderMap(AMap);
     })
     .catch((e) => {
       console.error(e); //加载错误提示
     });
第六步:创建地图渲染函数,之后地图的内容都需要写在这个函数中
复制代码
   const renderMap = (AMap) => {
     const map = new AMap.Map("maps");
   };
第七步:设置地图的中心点和级别
复制代码
   const renderMap = (AMap) => {
     const map = new AMap.Map("maps", {
       zoom: 12,
       center: [113.978255, 35.281454],
       showIndoorMap: false,
     });
   };
第八步:设置点标记到地图里
复制代码
     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);
最后一步:标记点点击事件 在事件中设置信息弹窗
复制代码
    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]);
     });
相关推荐
心.c18 分钟前
深拷贝浅拷贝
开发语言·前端·javascript·ecmascript
IT_陈寒1 小时前
Vue 3.4性能优化实战:5个鲜为人知的Composition API技巧让打包体积减少40%
前端·人工智能·后端
前端九哥1 小时前
💻【急招!27届前端实习生】广州4399实习太幸福了!江景+三餐+健身房全都有😭
前端·面试·招聘
咖啡の猫1 小时前
Vue全局事件总线
前端·javascript·vue.js
Lovereo1 小时前
我的目标检测性能优化之路:预算不够、GPU 没有、但性能我得要
前端
T___T1 小时前
JavaScript 变量声明详解:var、let、const 的核心差异
javascript·面试
蒙娜丽宁1 小时前
Rust 与 WebAssembly:构建高效前端应用的全流程复盘
前端·rust·wasm
这儿有一堆花1 小时前
使用 Actix-web 开发高性能 Web 服务
前端·数据库
豆苗学前端1 小时前
10分钟带你入门websocket,并实现一个在线多人聊天室
前端·javascript·后端
白水清风1 小时前
Vue3之渲染器
前端·vue.js·面试