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]);
     });
相关推荐
HarvestHarvest1 分钟前
【Copy Web独立开发者实战:我是如何用 AI 实现网页 UI 1:1 完美复刻的?】
前端·人工智能·ui
RuoyiOffice2 分钟前
从 0 到 1 搭建 RuoyiOffice:30 分钟跑通后端+前端+移动端
前端·spring boot·uni-app·开源·oa·ruoyioffice·hrm
昭昭颂桉a4 分钟前
TypeScript 前端的必修课,从 JS 到 TS
开发语言·前端·javascript·typescript
用户938515635074 分钟前
从零实现一个 Todos 应用:原生 Ajax + Node 服务,顺便吃透 JSON.stringify
前端·javascript·后端
英勇无比的消炎药5 分钟前
少踩坑TinyVue插槽事件编码规范详解
vue.js
程序猿阿伟6 分钟前
《Chrome扩展:穿透沙箱与签名体系的技术本质》
前端·chrome
飘尘8 分钟前
豆包里一句话就能P图生视频,背后究竟发生了什么?
前端·人工智能·aigc
codeking12 分钟前
3 步把 AI 桌面自动化从失控拉回可用
javascript·架构
神明不懂浪漫19 分钟前
【第三章】CSS(一)——基础选择器、CSS的属性
前端·css·html·css3
IVEN_28 分钟前
本地正常,Docker 怎么就空白:Next.js SSR 的 Alpine musl DNS 陷阱
前端·docker·next.js