前端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 相关文章推荐
多广告投放代码 推荐
Nov 13 Javascript
js模拟滚动条(横向竖向)
Feb 22 Javascript
jQuery动画animate方法使用介绍
May 06 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
Nov 26 Javascript
js获取内联样式的方法
Jan 27 Javascript
AngularJS基础知识笔记之表格
May 10 Javascript
javascript中setInterval的用法
Jul 19 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
May 15 Javascript
深入理解bootstrap框架之第二章整体架构
Oct 09 Javascript
js字符串倒序的实例代码
Nov 30 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
Mar 15 Javascript
Js逆向实现滑动验证码图片还原的示例代码
Mar 10 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版(5)
2006/10/09 PHP
php 攻击方法之谈php+mysql注射语句构造
2009/10/30 PHP
php mysql_real_escape_string函数用法与实例教程
2013/09/30 PHP
PHP 函数call_user_func和call_user_func_array用法详解
2014/03/02 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
JavaScript函数、方法、对象代码
2008/10/29 Javascript
Javascript 面试题随笔
2011/03/31 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
JavaScript作用域与作用域链深入解析
2013/12/06 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
js重写alert控件(适合学习js的新手朋友)
2014/08/24 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
详细分析JavaScript变量类型
2015/07/08 Javascript
js实现文本框支持加减运算的方法
2015/08/19 Javascript
javascript实现添加附件功能的方法
2015/11/18 Javascript
vue-cli项目使用mock数据的方法(借助express)
2019/04/15 Javascript
使用vue重构资讯页面的实例代码解析
2019/11/26 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
[05:20]2018DOTA2亚洲邀请赛主赛事第三日战况回顾 LGD率先挺进胜者组决赛
2018/04/06 DOTA
python实现定时提取实时日志程序
2018/06/22 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
Python实现序列化及csv文件读取
2020/01/19 Python
Python找出列表中出现次数最多的元素三种方式
2020/02/24 Python
Python实现进度条和时间预估的示例代码
2020/06/02 Python
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
巴黎一票通:The Paris Pass
2018/02/10 全球购物
美国宠物用品网站:Value Pet Supplies
2018/03/17 全球购物
西班牙自行车和跑步商店:Alltricks
2018/07/07 全球购物
2014年党员公开承诺书范文
2014/03/28 职场文书
2014超市双十一活动策划方案
2014/09/29 职场文书
工作能力自我评价2015
2015/03/05 职场文书
单位工资证明范本
2015/06/12 职场文书
苦儿流浪记读书笔记
2015/07/01 职场文书
CSS3 天气图标动画效果
2021/04/06 HTML / CSS