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

news2025/1/7 5:32:03

前往高德地图开发平台高德开放平台 | 高德地图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版本  其插件也有不同  如:ToolBar
                version: "1.4.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
                resizeEnable: true,

                plugins: [
                    "AMap.ToolBar", //工具条
                    "AMap.Scale", // 比例尺
                    "AMap.Geolocation", //定位
                ], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
            }).then((AMap) => {
                console.log(AMap);
                this.map = new AMap.Map("Map", { //设置地图容器id
                    resizeEnable: 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 传给 content
                        offset: 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.coloradmin.cn/o/591148.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

制作嵌入式busybox rootfs系统

1、busybox下载 BusyBox 此篇使用版本BusyBox 1.31.1 (stable) 2、设置交叉编译环境变量 source environment-setup-aarch64-poky-linux或者其他架构的编译链工具 3、busybox编译设置 cd busybox-1.31.1 修改根目录Makefile中的CROSS_COMPILE和ARCH参数 比如ARCH ? ar…

Flask-RESTful的使用

Flask-RESTful的使用 Flask-RESTful基本使用安装定义资源Resources创建API实例添加资源到API运行Flask应用 请求处理请求解析参数校验 响应处理数据序列化定制返回格式 其他功能蓝图装饰器集合路由命名规范路由名称 Flask-RESTful Flask-RESTful是一个用于构建RESTful API的扩展…

中台分类

大家好&#xff0c;我是易安&#xff0c;之前我们谈到过中台的概念&#xff0c;以及如何落地中台。今天我就带你一起看一看&#xff0c;行业常见的中台分类。 业务中台与数据中台 业务中台 业务这个词&#xff0c;其实是有些宽泛的&#xff0c;我听到很多人口中说的业务都不是…

RK3588平台开发系列讲解(驱动基础篇)设备树常用 of 函数

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、查找节点的 of 函数二、获取属性值的 of 函数三、实验示例3.1、查找的节点代码3.2、获取属性内容代码沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 设备树描述了设备的详细信息,这些信息包括数字类型的…

Web安全神器-Burpsuite社区版/专业版下载、安装及使用教程

一、Burpsuite下载 Burp Suite是进行Web应用安全测试的一个集成平台&#xff0c;无缝融合各种安全工具并提供全面的接口适配&#xff0c;支持完整的Web应用测试流程&#xff0c;从最初的映射和应用程序的攻击面分析到发现和利用安全漏洞等领域均适用&#xff0c;同时还可以做抓…

TYAN 于Computex2023 展示支持第四代英特尔至强可扩展处理器的新款服务器

【台北讯2023年5月30日】隶属神达集团&#xff0c;神雲科技旗下服务器通路领导品牌TYAN&#xff08;泰安&#xff09;&#xff0c;于2023 台北国际计算机展&#xff08;Computex 2023&#xff09;5月30日至6月2日展览期间&#xff0c;在台北世贸南港展览1馆4楼 M0701a摊位展示最…

pyest+appium实现APP自动化测试

目录 01、appium环境搭建 2、搭建pythonpytestappium环境 3、安装pycharm搭建项目编写脚本 4、执行测试 绵薄之力 01、appium环境搭建 安装nodejs http://nodejs.cn/ 为什么要安装nodejs&#xff1f; 因为appium这个工具的服务端是由nodejs语言开发的 安装jdk&#x…

设计模式之~工厂系列

目录 简单工厂模式 工厂方法模式 简单工厂 VS 工厂方法 抽象工厂模式&#xff1a; 拓展&#xff1a; 利用简单工厂模式优化抽象工厂 利用反射抽象工厂 进行优化 反射配置文件抽象工厂进行优化 简单工厂模式 优点&#xff1a;简单工厂模式的最大优点在于工厂类包含…

基于深度学习的高精度家禽猪检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度家禽猪检测识别系统可用于日常生活中或野外来检测与定位家禽猪目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的家禽猪目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检…

函数(C语言程序设计)

目录 一、函数定义 二、函数调用 三、递归函数 四、局部变量和全局变量 一、函数定义 1、无参函数的定义 类型名 函数名&#xff08;&#xff09; /*函数首部*/ { 函数体 } 或 类型名 函数名&#xff08;void&#xff09; /*函数首部*/ { 函数体 } void类型的函数不…

玻璃制品行业丨外贸业务管理难点及解决方案

玻璃作为一种重要的建筑材料&#xff0c;在国际贸易中一直占有一定的份额。随着国外市场需求量的不断增加&#xff0c;对玻璃制品的技术含量要求越来越高&#xff0c;需要在研发方面的投入也逐步加大。由于国际市场竞争激烈&#xff0c;想要做玻璃制品行业的外贸公司&#xff0…

Linux静态库文件

静态库的优点 不想让用户知道自己的代码实现&#xff0c;却又让用户使用功能&#xff0c;就将写好的代码放到库文件中&#xff08;也可以减少每次源码进行编译的时间&#xff0c;.c文件到可执行文件需要时间&#xff09;。方法如下 ar crv libtemp.a fitst.o second.o//demo …

【Spring】— 动态SQL :<if>元素

动态SQL &#xff1a;元素 在MyBatis中&#xff0c;<if>元素是常用的判断语句&#xff0c;主要用于实现某些简单的条件选择。在实际应用中&#xff0c;我们可能会通过多个条件来精确地查询某个数据。 【示例8-1】下面通过一个具体的案例来演示元素的使用。 &#xff0…

Scala基本语法

1.注释 Scala注释使用和Java完全一样。 注释是一个程序员必须要具有的良好编程习惯。 将自己的思想通过注释先整理出来&#xff0c;再用代码去体现。 基本语法 单行注释&#xff1a;// 多行注释&#xff1a;/* */ 文档注释&#xff1a; /** * */ 2.变量和常量 基本语法 va…

【C++入门】auto关键字 与 基于范围的for循环(C++11)

目录 引言 类型别名的思考 一、概念 二、使用细则 1.auto与指针和引用结合起来使用 2.在同一行定义多个变量 三、auto不适用的场景 基于范围的for循环&#xff08;C11&#xff09; 一、范围for的语法 二、使用条件 1.for循环迭代的范围必须是确定的 2.迭代的对象要实现…

C++ map类成员介绍 (map与multimap)

目录 &#x1f914;map模板介绍&#xff1a; &#x1f914;特点&#xff1a; &#x1f914;map容器与哈希表&#xff1a; &#x1f914;map的成员函数&#xff1a; &#x1f642;map构造函数&#xff1a; 代码示例&#xff1a; 运行结果&#xff1a; &#x1f642;map赋…

chatgpt赋能python:Python中未被定义的SEO

Python中未被定义的SEO 介绍 Python是一种广泛使用的高级编程语言。它被广泛应用于Web开发、游戏开发、数据科学、机器学习等领域。虽然Python已经成为许多企业的首选语言之一&#xff0c;但是有一些Python特有的SEO问题仍然没有被完全解决。Python中未被定义的SEO问题会导致…

C++ 常用算数生成算法

&#x1f914;常用算数生成算法&#xff1a; 该算法函数需要调用<numeric>头文件 1.accumulate 计算总和 在 C STL 中&#xff0c;accumulate() 是一种常用的算法&#xff0c;用于计算指定范围内的元素之和。 accumulate() 的函数原型为&#xff1a; template<c…

CAPL(vTESTStudio) - CAPL、CANoe、Panel联动

目录 一、变量设置 ① dbc文件中的Environment variables变量

【C++入门】什么是内联函数?

目录 一、概念 为什么要有内联函数&#xff1f; 内联函数设计的初衷是为了替代部分 #define 宏定义 二、特性 1.空间换时间 2.编译器做主 3.声明定义放一起 总结 一、概念 以inline修饰的函数叫做内联函数&#xff0c;编译时C编译器会在调用函数的地方展开&#xff0c;没有…