在vue项目中使用高德地图

2023-10-30

1.安装高德地图插件

npm install vue-amap --save

2.申请高德地图账号和key

官网地址:高德开放平台 | 高德地图API

3.在main.js中引入

// 引入vue-amap
import VueAMap from 'vue-amap';
// 初始化vue-amap
Vue.use(VueAMap);
VueAMap.initAMapApiLoader({
  key: 'c8b20507506bf9ec5e63f9b7a6e0eb53',
  plugin: [
    "AMap.Autocomplete", //输入提示插件
    "AMap.PlaceSearch", //POI搜索插件
    "AMap.Scale", //右下角缩略图插件 比例尺
    "AMap.OverView", //地图鹰眼插件
    "AMap.ToolBar", //地图工具条
    "AMap.MapType", //类别切换控件,实现默认图层与卫星图、实施交通图层之间切换的控制
    "AMap.PolyEditor", //编辑 折线多,边形
    "AMap.CircleEditor", //圆形编辑器插件
    "AMap.Geolocation" //定位控件,用来获取和展示用户主机所在的经纬度位置
  ],
  v: '1.4.4'
});

4.创建存放地图的容器

    <div class="box">
      <div class="mapBox" id="myMap"></div>
      <div class="btn" @click="screenFull">放大</div>
    </div>

5.初始化地图

    //初始化地图容器
      initMap(){
        // console.log("初始化地图容器")
        this.myMap = new AMap.Map('myMap',{
          zoom: 10,  //设置地图显示的缩放级别
          // center: [116.397428, 39.90923],//设置地图中心点坐标
          layers: [new AMap.TileLayer()],  //设置图层,可设置成包含一个或多个图层的数组
          // mapStyle: 'amap://styles/whitesmoke',  //设置地图的显示样式
          viewMode: '3D',  //设置地图模式

        });
        // console.log("创建地图容器end.....")
      },

6.渲染数据,标记坐标点

    //获取位置信息
      point() {
        //接口请求数据
        this.$api.amap.getLocation().then((res) => {
          if(res.data.status == 200) {
        this.pointMarker = res.data.data.list;
        console.log(this.pointMarker)
        // console.log("开始创建点了")
        //     根据状态在地图上标记点
        this.pointMarker.forEach((item) => {
          if(item.status===1){
            item.status="在线"
            this.icons=require('../../../assets/icons/3.png')//自定义图标
          }else if(item.status===0){
            item.status="离线"
            this.icons=require('../../../assets/icons/2.png')
          }
          if (item.longitude != null && item.latitude != null) {
            var myMarker = new AMap.Marker({
              position: [Number(item.longitude), Number(item.latitude)],
              icon: new AMap.Icon({
                image: this.icons,
                size: new AMap.Size(52, 52,),  //图标大小
                imageSize: new AMap.Size(26,38)
              })
            });
            myMarker.data = item;
            myMarker.on("click", this.markerClick);
            this.myMap.add(myMarker);
          }
        });
        // console.log("创建点完成了。。。。")
          }else{
            this.$message(res.data.message);
          }
        });
      },

7.坐标点击显示位置信息

  //位置信息 点击事件
      markerClick(e){
        var a = e.target.data;
        console.log(e);
        var infoWindow = new AMap.InfoWindow({
          anchor: 'top-center',
          // isCustom:true,
          // content: "这是信息窗体!获取到数据吧"+a.longitude+a.deviceName+a.status
          content: `
        <div class="locations">
        城市名称:${a.deviceName}<br/>
        详细地址:${a.tenantName}

        </div>`,
          closeWhenClickMap: true,
          offset: new AMap.Pixel(3, 5)
        });
        infoWindow.open(this.myMap,[Number(a.longitude),Number(a.latitude)]);
      },

8.全屏显示地图

   screenFull(){
        let element = document.getElementById('myMap');//设置后就是   让id==box的容器全屏
        if (this.changeScreen) {
          if (document.exitFullscreen) {
            document.exitFullscreen();
          } else if (document.webkitCancelFullScreen) {
            document.webkitCancelFullScreen();
          } else if (document.mozCancelFullScreen) {
            document.mozCancelFullScreen();
          } else if (document.msExitFullscreen) {
            document.msExitFullscreen();
          }
        } else {
          if (element.requestFullscreen) {
            element.requestFullscreen();
          } else if (element.webkitRequestFullScreen) {
            element.webkitRequestFullScreen();
          } else if (element.mozRequestFullScreen) {
            element.mozRequestFullScreen();
          } else if (element.msRequestFullscreen) {
            // IE11
            element.msRequestFullscreen();
          }
        }
        this.changeScreen = this.changeScreen;
      },

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在vue项目中使用高德地图 的相关文章

  • 在 HTML5 Javascript 中将 BlobBuilder 转换为字符串

    function blobToString blob var reader new FileReader var d reader onloadend function d callback reader result console lo
  • FullCalendar-vue + Typescript:属性“getApi”不存在

    我尝试将 FullCalendar vue 与 Typescript 结合使用 但在访问其 API 时遇到错误 我的日历设置如下
  • 显示具有多个父代的 D3 树

    我目前有this http bl ocks org mbostock 4339083图已实现 我希望在描述具有多个父节点的子节点时保持结构和可折叠性 有没有办法做到这一点 我研究了力图 但我也想保留一组层次结构 这意味着 1 级的父级可以有
  • 如何正确清理来自 AngularJS 控制器的无效输入的表单?

    我有一个 AngularJS 表单 其中包含 除其他字段之外 类型之一url 后者很重要 因为这会强制相应的输入成为有效的 URL 在某些条件下 例如 要关闭具有此类表单的模式对话框 我想以编程方式清除该表单 为此 我实现了方法reset基
  • 使用 Angular 指令禁用文本选择

    我正在学习 JavaScript 和 AngularJS 我想使用 Angular Directive 禁用文本选择 我有该函数的 JavaScript 代码 function clearSelection if document sele
  • 为什么 window 与 Internet Explorer 中的 window.self 不同?

    关于我如何遇到这个问题有一个复杂的背景故事 但为什么self属性不完全等于窗口本身 在 Safari 和 Firefox 及其朋友中 结果如我所料 gt window window self true gt window window se
  • 如何使用 Playwright 使用选择器查找框架 (iframe)

    我有一个小问题 无法找到使用 Microsoft Playwright 框架的答案 根据您可以使用以下代码获取 iframe const frame page frame frame login 但是如何使用选择器来查找 iframe 并与
  • 在渲染组件之前从 api 获取数据

    我在渲染页面之前发送 2 个 api 请求 const Profile template profile attributes null photos data function return attributes Profile attr
  • Number.IsNaN() 比 isNaN() 更糟糕吗

    Soooooo isNaNJavaScript 显然被破坏了 比如 isNaN isNaN isNaN true isNaN false isNaN 0 返回 false 当它们看起来都是 不是数字 在 ECMAScript 6 中 草案包
  • 如何使用javascript确保元素仅在圆上朝一个方向移动?

    好吧 我承认我对三角学真的很糟糕 出于上下文的考虑 我将添加我在这里提到的问题中的内容 参考问题 https stackoverflow com a 39429290 168492 https stackoverflow com a 394
  • 本地推送通知到在应用程序内运行 JS 代码的 Win8 Live Tile

    我正在尝试将更新发送到我的应用程序的磁贴 当应用程序运行时 这可以正常工作 例如 当用户单击按钮时 我可以轻松地将磁贴更新通知发送到磁贴 我无法解决的是当应用程序无法运行时如何更新磁贴 我找到的唯一选择是使用以下命令从远程 Web 服务器拉
  • JavaScript 验证和 PHP 验证?

    我正在使用 jquery 验证插件来验证空表单 我还应该在 PHP 中检查一下以确保 100 正确吗 或者用 javascript 验证就可以了 谢谢 您应该始终在服务器上进行验证 如果用户以某种方式不使用 Javascript 提交表单
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • React Router v4 不渲染组件

    React Router v4 渲染组件存在问题 在应用程序初始加载时 它将呈现与 URL 相对应的正确组件 但是 任何后续的组件Link单击不会呈现所需的组件 图书馆 反应路由器 4 2 2 https reacttraining com
  • IE 中的 XPath 查询使用从零开始的索引,但 W3C 规范是从一开始的。我应该如何处理差异?

    问题 我正在转换目前仅适用于 Internet Explorer 的相对较大的 Javascript 代码 以便使其也适用于其他浏览器 由于代码广泛使用 XPath 我们做了一些兼容性功能以使事情变得更容易 function selectN
  • 如何计算特定字符在字符串中出现的次数

    我正在尝试创建一个函数来查看数组中的任何字符是否在字符串中 如果是 有多少个 我尝试计算每一种模式 但是太多了 我尝试使用 Python 中的 in 运算符的替代方案 但效果不佳 function calc fit element var
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • 如何从浏览器向服务器发送“页面将关闭”消息?

    我想向每个 html 文档添加一个脚本 JavaScript 该脚本向服务器发送两条消息 页面确实打开了 页面将关闭 此消息包含页面打开的时间 打开消息应在文档加载时 或加载完成时 发送 这是简单的部分 The close message
  • Highcharts jQuery 渲染问题 - 所有浏览器

    我在尝试使用构建堆积柱形图时遇到了一个奇怪的问题高图表 http www highcharts com 当图表呈现时 在您调整浏览器大小之前 不会显示列无论如何 导致图表重绘 我认为 图表的其余部分显示 轴 标题等 但不显示列本身 我在 I
  • 什么是 WKWebView 中的 WKErrorDomain 错误 4

    fatal error LPWebView encounters an error Error Domain WKErrorDomain Code 4 A JavaScript exception occurred UserInfo 0x7

随机推荐

  • 【MySQL基础】MySQL基本操作详解

    系列文章目录 第1篇 MySQL基础 MySQL介绍及安装 第2篇 MySQL基础 MySQL基本操作详解 文章目录 1 数据库操作 1 1 查看数据库 1 2 创建数据库 1 3 选择数据库 1 4 删除数据库 2 数据表操作 2 1 创
  • xrange与range之间的区别

    首先我们看看range range start stop step 根据start与stop指定的范围以及step设定的步长 生成一个序列 注意这里是生成一个序列 xrange的用法与range相同 即xrange start stop s
  • Centos系统开启生成core dump调试文件功能

    需求背景 linux上运行的程序 有时候莫名其妙的崩溃了 查询日志 没发现打印日志 怎么办呢 可以借助系统的dump功能生成进程的内存映象 包含调试信息 前提是运行的程序是debug版本 进一步还原跟踪 确认是否开启 然而 默认情况下 系统
  • ResultSet 获取Date时间,SQL语句设置时间

    1 从ResultSet读取时间 执行完SQL命令后返回一个ResultSet 当ResultSet里有时间字段的时候 例 createTime 2014 11 11 19 50 10 如何将时间取出来呢 ResultSet getDate
  • linux下的OOM机制

    OOM Out Of Memory 机制为Linux内核中一种自我保护机制 当系统分配不出内存时 触发条件 会触发这个机制 由系统在已有进程中挑选一个占用内存较多 回收内存收益最大的进程杀掉来释放内存 参考 http blog chinau
  • nvme linux读写测试工具,Nvme-Cli使用心得(二) Read/Write测试经验

    1 Write 首先看Write命令的官方说明 nvme write start block s block count c data size z metadata size y ref tag r data d metadata M p
  • R语言caretEnsemble包搭建Stacking集成模型

    R语言caretEnsemble包搭建Stacking集成模型 caretEnsemble包简介 小的tips caretEnsemble搭建Stacking集成模型 caretList caretEnsemble caretStack 问
  • Slowhttptest----DoS攻击工具

    Slowhttptest DoS攻击工具 文章目录 slowhttptest centos下安装slowhttptest Ubuntu 20 04 LTS下安装slowhttptest 使用 slowhttptest SlowHTTPTes
  • android定时器的三种写法

    这是网上看到的某一篇技术博客的分享 自己贴了代码 作为记录使用 代码简单易懂 1 xml文件
  • android与H5交互方法简介,四面楚歌的Android工程师该何去何从

    3 2 1 loadUrl 方式 3 2 2 evaluateJavascript 方式 3 3 JS调用Java代码 3 3 1addJavascriptInterface 方式 3 3 2拦截请求方式 3 3 2拦截对话框方式 1 前言
  • Spring 的 IOC 容器和 SpringMVC 的 IOC 容器 关系

    需要进行 Spring 整合 SpringMVC 吗 还是否需要再加入 Spring 的 IOC 容器 是否需要再 web xml 文件中配置启动 Spring IOC 容器的 ContextLoaderListener 1 需要 通常情况
  • 配置宝塔,搭建网站

    配置宝塔面板 一 获取虚拟机的IP地址 打开虚拟机 输入命令 ip addr获取IP地址 二 使用cmd运行获取宝塔面板信息 1 运行cmd 并输入命令ssh root 获取的IP地址 2 输入登录密码 3 获取宝塔的命令行 4 输入14命
  • 跨专业计算机研究生如何毕业论文,跨专业考研论文要求

    跨专业考研写几篇论文 跨专业考研论文要求 近几年 跨专业考研得的队伍愈发壮大 许多考生不仅会跨相关专业 甚至还有人进行文理科间得的 大转行 跨专业报考得的难度系数在考研中是比较大得的 既有 满盘皆输 得的危险 也可能会带来出奇制胜得的效果
  • Column ‘status_type‘ in where clause is ambiguous

    多表查询时 由于字段名字有重复 所以需要指定那张表的字段
  • 学习笔记《你不知道的JavaScript上卷》第一章 作用域是什么 1.2理解作用域

    引擎 从头到尾负责整个 JavaScript 程序的编译及执行过程 编译器 引擎的好朋友之一 负责语法分析及代码生成等脏活累活 详见前一节的内容 作用域 引擎的另一位好朋友 负责收集并维护由所有声明的标识符 变量 组成的一系列查 询 并实施
  • 小程序开发工具全新上线

    导语 为了让开发者更高效地开发和发布小程序 微信开发者工具全新改版上线 并新增测试系统 腾讯云工具 运维性能监控 小程序分阶段发布 WXS脚本语言等 01 微信开发者工具 为提升小程序开发体验 帮助开发者更高效地开发小程序代码 微信开发者工
  • JDBC自定义框架

    自定义JDBC框架 定义必要的信息 获取数据库的连接 释放资源都是重复的代码 在操作JDBC时通常都是执行SQL语句就可以了 所以需要抽取出来一个模板类来封装一些方法 Update Query 专门执行增删改查的SQL语句 简化使用步骤 D
  • 字符串转LocalDateTime异常

    文章目录 现象 解决方案 拓展测试 总结 现象 当使用LocalDateTime 与字符串互转异常 使用LocalDateTime 字符串必须带时分秒 public static void main String args DateTime
  • vcruntime140.dll重新安装的方法(最佳推荐方法)

    vcruntime140 dll是什么什么文件呢 为什么电脑在运行一些游戏的时候会出现丢失vcruntime140 dll 然后游戏运行失败 这个dll文件是电脑重要的运行库文件 丢失了会导致很多程序无法运行 下面将介绍vcruntime1
  • 在vue项目中使用高德地图

    1 安装高德地图插件 npm install vue amap save 2 申请高德地图账号和key 官网地址 高德开放平台 高德地图API 3 在main js中引入 引入vue amap import VueAMap from vue