前端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 相关文章推荐
mapper--图片热点区域高亮组件官方站点
Dec 22 Javascript
几个比较经典常用的jQuery小技巧
Mar 01 Javascript
javascript去掉前后空格的实例
Nov 07 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
Apr 14 Javascript
node中socket.io的事件使用详解
Dec 15 Javascript
JavaScript实现动态添加,删除行的方法实例详解
Jul 02 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
Aug 17 Javascript
详解maxlength属性在textarea里奇怪的表现
Dec 27 Javascript
JavaScript仿flash遮罩动画效果
Jun 15 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
Aug 03 Javascript
JavaScript事件用法浅析
Oct 31 Javascript
微信小程序如何使用云开发
May 17 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中文件上传的安全问题
2006/10/09 PHP
php中防止恶意刷新页面的代码小结
2012/10/31 PHP
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
Composer设置忽略版本匹配的方法
2016/04/27 PHP
php7新特性的理解和比较总结
2019/04/14 PHP
php如何获取Http请求
2020/04/30 PHP
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
jQuery中:enabled选择器用法实例
2015/01/04 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
ES6新特性六:promise对象实例详解
2017/04/21 Javascript
webpack踩坑之路图片的路径与打包
2017/09/05 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
vue+express+jwt持久化登录的方法
2019/06/14 Javascript
微信小程序实现弹框效果
2020/05/26 Javascript
python 实现文件的递归拷贝实现代码
2012/08/02 Python
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
python 运用Django 开发后台接口的实例
2018/12/11 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
mac使用python识别图形验证码功能
2020/01/10 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
OpenCV Python实现图像指定区域裁剪
2021/03/12 Python
Python定时任务框架APScheduler原理及常用代码
2020/10/05 Python
python import 上级目录的导入
2020/11/03 Python
html5使用window.postMessage进行跨域实现数据交互的一次实战
2021/02/24 HTML / CSS
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
Bowflex美国官方网站:高级家庭健身器材
2017/12/22 全球购物
德国圣伯纳德草药屋:Kräuterhaus Sanct Bernhard(有中文站)
2018/08/05 全球购物
化学相关工作求职信
2013/10/02 职场文书
化验室技术员岗位职责
2013/12/24 职场文书
英文商务邀请信
2014/01/22 职场文书
颁奖晚会主持词
2014/03/25 职场文书
学校捐书倡议书
2015/04/27 职场文书
土木工程毕业答辩开场白
2015/05/29 职场文书
2015党建工作简报
2015/07/21 职场文书
python面向对象版学生信息管理系统
2021/06/24 Python
SQL Server2019数据库备份与还原脚本,数据库可批量备份
2021/11/20 SQL Server