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]);
     });
相关推荐
Yvette-W1 分钟前
【JavaScript】原型链 prototype 和 this 关键字的练习(老虎机)
开发语言·前端·javascript·ecmascript·原型模式
程序员JerrySUN9 分钟前
设计模式 Day 4:观察者模式(Observer Pattern)深度解析
javascript·观察者模式·设计模式
烂蜻蜓14 分钟前
HTML5 新元素:革新网页开发体验
前端·html·html5
阿丽塔~17 分钟前
Vue2/Vue3异同整理
vue.js
七月的尾巴←_←22 分钟前
Java8+Spring Boot + Vue + Langchain4j 实现阿里云百炼平台 AI 流式对话对接
vue.js·spring boot·阿里云
CsharpDev-奶豆哥1 小时前
使用JS+HTML+CSS编写提词器实例
javascript·css·html
在下千玦1 小时前
#关于require 与 import 相关了解
javascript·node.js
森叶1 小时前
利用本地 Express Web 服务解决复杂的 Electron 通信链路的问题
前端·electron·express
土豆丶杨1 小时前
vue3+electron 桌面应用初始化
javascript·vue.js·electron
冴羽2 小时前
SvelteKit 最新中文文档教程(18)—— 浅层路由和 Packaging
前端·javascript·svelte