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]);
     });
相关推荐
GuWenyue4 小时前
放弃云端API!一套React+WebGPU本地LLM方案,零数据上传、离线可用
前端·人工智能·前端框架
原则猫5 小时前
函数/变量提升
前端
独泪了无痕6 小时前
Vue3 Hooks使用实战解析
前端·vue.js
shawxlee7 小时前
vue3在public下封装config.js自定义配置动态数据,可在打包后直接修改,方便后端部署及后续维护
前端·javascript·经验分享·vue·团队开发·js·项目优化
用户059540174467 小时前
把记忆存储的回归测试从手工换成 Playwright + GitHub Actions,线上缺陷降低 80%
前端·css
触底反弹8 小时前
🚀 从 DOM0 级到 React 合成事件:前端事件监听的 20 年演进史
前端·react.js·面试
kyriewen8 小时前
我给前端项目的接口请求套了6层保护——才发现以前一直在裸奔
前端·javascript·面试
颜酱8 小时前
04 | 召回前置准备:搭好召回所需的四个数据库
前端·人工智能·后端
郝亚军9 小时前
如何安装webstorm、Node.js和vue CLI
前端·javascript·vue.js
IT_陈寒9 小时前
React的useEffect依赖项把我坑惨了
前端·人工智能·后端