前端vue如何使用高德地图


Posted in Javascript onNovember 05, 2020

首先,注册Key

 1、注册开发者账号,成为高德开放平台开发者

    2、登陆之后,在进入「应用管理」 页面「创建新应用」

 3、为应用添加 Key,「服务平台」一项请选择「 Web 端 ( JSAPI ) 」

然后,书写代码

   在vuecli  public文件夹中的index.html添加导入 JS API 的入口脚本标签

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
  <link rel="icon" href="./iconLink.png" rel="external nofollow" >
  <title>高德地图</title>
  <!-- 建议将导入的script写在body前面,以便提前加载 -->
  <script type="text/javascript" src="http://webapi.amap.com/maps?v=2.0&key=d6c35bb2619f107f86ccda4b378415f6&plugin=AMap.MouseTool"></script> <!-- 只是我的key,可以暂时用为测试(不定什么时候失效) -->

 <script src="//webapi.amap.com/ui/1.1/main.js?v=1.1.1"></script> <!-- 高德官方文档的ui库 --> </head> <body> <div id="app"></div> </body>
</html>

在vue.config.js中修改配置

module.exports = {
  publicPath: "./",
  configureWebpack: {
    externals: {
      AMap: 'window.AMap',
      AMapUI: 'window.AMapUI' // 高德地图配置
    },
  }
};

接下来,正式书写vue组件

废话不多说,直接上代码

<template>
  <div class="map_wrapper">
    <div class="box">
      <div id="container" style="width: 100%; height: 500px"></div>
    </div>
  </div>
</template>

<script lang="ts">
import { Vue, Component, Prop, Watch } from 'vue-property-decorator';
@Component({
})
export default class page extends Vue { // 使用 import AMap from 'amap'; 会有编辑器报错Cannot find module 'amap'; 所以变通换一种写法
  protected AMap: any = (window as any).AMap;
  protected AMapUI: any = (window as any).AMapUI;

 // 如果写在created会报错 "Error: Map container div not exist"
  mounted() {
      let map = new this.AMap.Map('container', {
        center: [121.227577, 31.101471], // 中心点坐标
        resizeEnable: true, // 是否监控地图容器尺寸变化
        zoom: 10, // 初始化地图层级,可以理解为缩放比例
        showMarker: true, // 定位成功后在定位到的位置显示点标记,默认:true
      });

      //加载SimpleInfoWindow,loadUI的路径参数为模块名中 'ui/' 之后的部分
      this.AMapUI.loadUI(['overlay/SimpleInfoWindow'], (SimpleInfoWindow: any) => {
        let marker = new this.AMap.Marker({
          map: map,
          zIndex: 9999999,
          position: map.getCenter(),
        });

        let infoWindow = new SimpleInfoWindow({
          infoTitle: '<strong>这里是标题</strong>',
          infoBody: '<p>这里是内容。</p>',
          offset: new this.AMap.Pixel(0, -31), // 文本定位偏移
        });
        //显示在map上
        function openInfoWin() {
          infoWindow.open(map, marker.getPosition());
        }
        marker.on('click', () => {
          openInfoWin(); // 点击标记时显示文本
        });
        openInfoWin();
      });
  }
}
</script>

<style scoped lang="scss"></style>

页面效果如下

前端vue如何使用高德地图

以上就是前端vue如何使用高德地图的详细内容,更多关于vue 高德地图的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
JavaScript 指导方针
Apr 05 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
Apr 17 Javascript
jQuery中filter()方法用法实例
Jan 06 Javascript
JavaScript中操作字符串之localeCompare()方法的使用
Jun 06 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
Jul 05 Javascript
jQuery ajax的功能实现方法详解
Jan 06 Javascript
手机端转换rem适应
Apr 01 Javascript
微信小程序的生命周期的详解
Oct 19 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
Jan 12 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
Oct 26 Javascript
详解Vue-Router源码分析路由实现原理
May 15 Javascript
JavaScript实现登录窗体
Jun 22 Javascript
解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题
Nov 05 #Javascript
vue 全局封装loading加载教程(全局监听)
Nov 05 #Javascript
vant组件中 dialog的确认按钮的回调事件操作
Nov 04 #Javascript
Array.filter中如何正确使用Async
Nov 04 #Javascript
JavaScript setTimeout()基本用法有哪些
Nov 04 #Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
Nov 04 #Javascript
通过实例了解Render Props回调地狱解决方案
Nov 04 #Javascript
You might like
深入了解PHP类Class的概念
2012/06/14 PHP
CI框架学习笔记(二) -入口文件index.php
2014/10/27 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
2017/06/30 PHP
PDO::lastInsertId讲解
2019/01/29 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
Json对象与Json字符串互转(4种转换方式)
2013/03/27 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
2013/05/07 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
javascript 表格内容排序 简单操作示例代码
2014/01/03 Javascript
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
JS简单实现tab切换效果的多窗口显示功能
2016/09/07 Javascript
jQuery延迟执行的实现方法
2016/12/21 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
在小程序/mpvue中使用flyio发起网络请求的方法
2018/09/13 Javascript
React Component存在的几种形式详解
2018/11/06 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
2019/04/08 Javascript
使用axios请求接口,几种content-type的区别详解
2019/10/29 Javascript
vue实现pdf文档在线预览功能
2019/11/26 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
[02:36]DOTA2英雄基础教程 斯拉克
2013/11/29 DOTA
Python简单读取json文件功能示例
2017/11/30 Python
Python logging管理不同级别log打印和存储实例
2018/01/19 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
打印tensorflow恢复模型中所有变量与操作节点方式
2020/05/26 Python
Python如何在循环内使用list.remove()
2020/06/01 Python
python用tkinter实现一个gui的翻译工具
2020/10/26 Python
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
公司营业员的自我评价
2014/03/04 职场文书
助人为乐好少年事迹材料
2014/08/18 职场文书
个人融资协议书
2014/10/02 职场文书
学习经验交流会总结
2015/11/02 职场文书
python和Appium的移动端多设备自动化测试框架
2022/04/26 Python