前端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 常用方法总结
Jun 03 Javascript
js cookies实现简单统计访问次数
Nov 24 Javascript
JS运行耗时操作的延时显示方法
Nov 19 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
Jul 26 Javascript
有关于eclipse配置spket需要注意的一些地方
Apr 07 Javascript
jQuery中fadeOut()方法用法实例
Dec 24 Javascript
自动完成的搜索框javascript实现
Feb 26 Javascript
AngularJS入门之动画
Jul 27 Javascript
详解基于angular路由的requireJs按需加载js
Jan 20 Javascript
vue移动端城市三级联动组件使用详解
Jul 26 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
Oct 14 Javascript
javascript中Set、Map、WeakSet、WeakMap区别
Dec 24 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
Windows下PHP的任意文件执行漏洞
2006/10/09 PHP
php 无限极分类
2008/03/27 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
JavaScript 在网页上单击鼠标的地方显示层及关闭层
2012/12/30 Javascript
制作jquery遮罩层效果导航菜单代码分享
2013/12/25 Javascript
根据配置文件加载js依赖模块
2014/12/29 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
js编写一个简单的产品放大效果代码
2016/06/27 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
web前端vue之CSS过渡效果示例
2018/01/10 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
Vue动态创建注册component的实例代码
2019/06/14 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
2020/07/14 Javascript
python访问sqlserver示例
2014/02/10 Python
Python实现的下载8000首儿歌的代码分享
2014/11/21 Python
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
python 远程统计文件代码分享
2015/05/14 Python
Python中return语句用法实例分析
2015/08/04 Python
Flask数据库迁移简单介绍
2017/10/24 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
Python 脚本实现淘宝准点秒杀功能
2019/11/13 Python
python新手学习可变和不可变对象
2020/06/11 Python
利用scikitlearn画ROC曲线实例
2020/07/02 Python
css3实现可滑动跳转的分页插件示例
2014/05/08 HTML / CSS
GNC健安喜美国官网:美国第一营养品牌
2016/07/22 全球购物
学生档案自我鉴定
2013/10/07 职场文书
二年级小学生评语
2014/04/21 职场文书
销售队伍口号
2014/06/11 职场文书
员工试用期自我评价
2014/09/18 职场文书
教师师德师风整改措施
2014/10/24 职场文书
自我检讨书怎么写
2015/05/07 职场文书
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle