在vue中集成高德地图amap-jsapi-loader

news/2024/11/8 17:24:35/

前往高德地图开发平台高德开放平台 | 高德地图API

一:申请高德key 

        去高德官网去创建一个属于自己的地图应用 (得到key和秘钥) 。

        首先,我们要注册一个开发者账号,根据实际情况填写,身份写个人:

        进入我的应用:         ​​​​​         创建新应用

         获取key和密钥

        注意: 2021年12月02日后创建的 key 必须配备安全密钥一起使用

二:在vue中使用高德地图

       这里使用的是amap-jsapi-loader 。@amap/amap-jsapi-loader是一个用于加载高德地图JavaScript API的工具库。它可以帮助开发者快速、简便地在网页中引入高德地图API,并提供了一些方便的配置选项和回调函数,以便开发者更好地控制地图的加载和初始化过程。该工具库适用于各种前端框架和库,如React、Vue、Angular等。

        在项目中应用:

        1、控制台安装:

npm i amap-jsapi-loader --save

        2、在main.js中配置秘钥

    //配置安全密钥
window._AMapSecurityConfig = {securityJsCode: '你的密钥' //*  安全密钥
}

        3、项目中创建MapView.vue文件用作地图组件

        4、在 MapView.vue 地图组件中创建 div 标签作为地图容器 ,并设置地图容器的 id 属性为 map;

 <div class="content"><!-- 用来显示地图 --><!-- 可以不写宽度,但一定要有高度 --><div id="Map" style="height: 500px;"></div></div>

        5、在地图组件 MapView.vue 中引入 amap-jsapi-loader 

import AMapLoader from '@amap/amap-jsapi-loader';

       6、地图初始化函数 initMap,这里简单实现了marker点标记功能

<script>
//引入高德地图
import AMapLoader from '@amap/amap-jsapi-loader';
export default {name: 'IndexMap',data() {return {map: null, //地图实例markerdom: null,marker: [],markernum: [[108.925107, 34.238578],[108.977807, 34.240636],[108.977893, 34.20508],[108.915065, 34.202951],[108.920713, 34.226592],......//为了展示,用的写好的数据]                        }},mounted() {this.initMap();//调用地图初始化函数:mounted 函数会在 DOM 初始化完成后调用},methods: {initMap() {AMapLoader.load({key: "", // 申请好的Web端开发者Key,首次调用 load 时必填//2.0版本太卡了 ,所以使用的1.4.0版本  其插件也有不同  如:ToolBarversion: "1.4.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15resizeEnable: true,plugins: ["AMap.ToolBar", //工具条"AMap.Scale", // 比例尺"AMap.Geolocation", //定位], // 需要使用的的插件列表,如比例尺'AMap.Scale'等}).then((AMap) => {console.log(AMap);this.map = new AMap.Map("Map", { //设置地图容器idresizeEnable: true,rotateEnable: true,pitchEnable: true,zoom: 15,pitch: 80,rotation: -15,viewMode: '3D',//开启3D视图,默认为关闭buildingAnimation: true,//楼块出现是否带动画expandZoomRange: true,zooms: [3, 20],center: [108.946651, 34.222718], //初始化地图中心点位置});this.markerdom = '' +'<div class="custom-content-marker">' +'   <img src="/icon_bike.png">' +'</div>';for (let i = 0; i < this.markernum.length; i++) {this.marker.push(new AMap.Marker({position: new AMap.LngLat(this.markernum[i][0], this.markernum[i][1]),// Marker经纬度content: this.markerdom, // 将 html 传给 contentoffset: new AMap.Pixel(-13, -30) // 以 icon 的 [center bottom] 为原点}));}this.map.add(this.marker)console.log(this.marker);}).catch(e => {console.log(e);})}}
}
</script>

        看一下效果: 


http://www.ppmy.cn/news/109960.html

相关文章

【SpringCloud——Elasticsearch(上)】

一、什么是Elasticsearch elasticsearch是一款非常强大的开源搜索引擎&#xff0c;可以帮助我们从海量数据中快速找到需要的内容。 二、倒排索引 1、正向索引 2、倒排索引 3、总结 三、ES和MySQL的区别 四、操作索引库 1、基于Kibana&#xff08;WEB界面&#xff09; 以下操作…

[GXYCTF2019]Ping Ping Ping解题过程

1、来看看靶场 发现就只有这个提示&#xff0c;尝试一下在url输入框进行测试 页面返回ping的结果&#xff0c;然后我之前也做过另外一道类似的题 链接&#xff1a;[ACTF2020 新生赛]Exec1命令注入_[actf2020 新生赛]exec 1_旺仔Sec的博客-CSDN博客 尝试用管道符 果然是可以的…

进步之魂:致敬科技工作者!

在科技的舞台上&#xff0c;技术人员如同一束明亮的光芒&#xff0c;照亮着人类前进的道路。他们是创造者&#xff0c;是传递者&#xff0c;默默无闻地工作在科技的前线&#xff0c;将智慧和汗水交织成一道奇迹般的桥梁&#xff0c;将人与人、人与世界紧密地连接在一起。时代的…

项目文件模板-项目建议书

文章目录 第一章 项目简介第二章 项目建设单位概况第三章 项目建设的必要性第四章 业务分析第五章 总体建设方案第六章 本期项目建设方案第七章 环保 消防 职业安全第八章 项目实施进度第九章 投资估算和资金筹措第十章 效益与风险分析 第一章 项目简介 项目名称 项目建设单位…

【C++】函数高级 - 默认参数,占位参数,函数重载基本语法,函数重载注意事项

No.Contents1【C】基础知识 - HelloWorld&#xff0c;注释&#xff0c;变量&#xff0c;常量&#xff0c;关键字&#xff0c;标识符2【C】数据类型 - 整型&#xff0c;sizeof&#xff0c;实型&#xff0c;字符型&#xff0c;转义字符&#xff0c;字符串类型&#xff0c;布尔类型…

Jimmer VS MyBatisPlus查询自关联表

首发于Enaium的个人博客 本文是对Jimmer文档中对象抓取器-自关联递归抓取部分的介绍,之后会对比MyBatisPlus的查询自关联表的能力。 对象抓取器是 jimmer-sql 一个非常强大的特征&#xff0c;具备可媲美 GraphQL 的能力。 即使用户不采用任何 GraphQL 相关的技术栈&#xff0c;…

Sql Server 自动备份

Sql Server 自动备份 文章目录 Sql Server 自动备份1. 打开SQL Server&#xff0c;在管理下找到”维护计划”&#xff0c;右键点击”维护计划向导”&#xff0c;如图&#xff1b;2. 再次点击维护计划向导3. 在选择维护任务下勾选”备份数据库”、”清楚维护任务”4.选择需要备份…

项目文件模板-项目章程

项目目的或批准项目的原因 可测量的项目目标和相关的成果标准 高层级需求 高层级项目需求 高层级风险 总体里程碑进度计划 总体预算 干系人清单 项目审批要求&#xff08;什么构成项目成功 谁决定 谁签署&#xff09; 委派的项目经理及其职责 发起人或其他批准项目章程的人员姓…