前言

最近在vue里使用了高德地图vue-amap以及AMapUI,我在这里就说下如何在vue2里引入vue-amap和AmapUI以及使用定位

(在这里默认你已经安装了vue-cli)

安装
npm install vue-amap --save
在main.js引入vue-amap

在main.js添加如下几行

// 引入vue-amap
import AMap from 'vue-amap';

Vue.use(AMap);
// 初始化vue-amap
AMap.initAMapApiLoader({
    // 申请的高德key
    key: '你的key值',
    // 插件集合
    plugin: ['AMap.Geolocation',....],
    uiVersion: '1.0'  //添加 uiVersion 的脚本版本号
});

引入高德 UI 组件库,如上,只需在初始化的时候添加 uiVersion 的脚本版本号,就能轻松完成脚本的加载及初始化,版本号参考官方介绍

新建一个map组件

新建一个map.vue文件

<template>
  <div id="near">
    <div id="amap-main">
    </div>
  </div>
</template>
<script>
import { lazyAMapApiLoaderInstance } from 'vue-amap';
var map
export default{
  name:'near',
  data () {
    return {
      localData:{}
    }
  },
  mounted() {
    let self = this
    lazyAMapApiLoaderInstance.load().then(() => {
        //初始化地图
        map = new AMap.Map('amap-main', {
          resizeEnable: true,
          zoom: 20,
          center: new AMap.LngLat(113.309213,23.146569)
        });
            //这个是添加AMapUI的点标注
         AMapUI.loadUI(['overlay/SimpleMarker'], (SimpleMarker) => {
            const marker = new SimpleMarker({
              iconLabel: 'A',
              iconStyle: 'red',
              color:"#fff",
              map: map,
              position: [113.309213,23.146569],
            });
          });
      //使用定位
      map.plugin('AMap.Geolocation', function() {
          let geolocation = new AMap.Geolocation({
              enableHighAccuracy: true,//是否使用高精度定位,默认:true
              timeout: 10000,          //超过10秒后停止定位,默认:无穷大
              buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
              zoomToAccuracy: true,      //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
              buttonPosition:'RB'
          });
          map.addControl(geolocation);
          geolocation.getCurrentPosition();
          AMap.event.addListener(geolocation, 'complete', self.onComplete);//返回定位信息
      });
    });
  },
  methods: {
      onComplete (data) {
        //里面为定位的信息
         this.localData = data
      }
  }

}
</script>
<style lang="scss">
#near{
  width:100%;
  height:100%;
  #amap-main{
    width:100%;
    height:100%;
  }
}
</style>

然后引用map.vue组件你就会发现成功出现地图并且有个名字为A的点标注

vue2使用高德地图vue-amap定位以及AMapUI标注的更多相关文章

  1. 使用高德地图SDK获取定位信息

    使用高德地图SDK获取定位信息 第一步: 在高德官网下载SDK,如我这里需要获取定位信息,故仅下载"定位功能" 第二步: 注册成为开发者,并创建应用获取相应的key.其中,在使用A ...

  2. Android 编程 AMapLocationClientOption 类中的 setNeedAddress 方法用处 (高德地图 com.amap.api.location.AMapLocationClientOption 中的类)

    最近在用高德地图来写Android App, 其中有一些 方法是不太理解的,这里写一下 对  高德地图  com.amap.api.location.AMapLocationClientOption ...

  3. android 高德地图出现【定位失败key鉴权失败】

    如题:android 高德地图出现[定位失败key鉴权失败] 原因:使用的是debug模式下的SHA1,发布的版本正确获取SHA1的方式见: 方法二使用 keytool(jdk自带工具),按照如下步骤 ...

  4. (高德地图)marker定位 bug 解决总结

    项目背景: 一个项目bug,项目中用到高德地图,默认打开页面会生成一个marker(下图红色icon),然后用户拖动marker到想要的位置,并且保存. 用户反映定位不准确,在当前页面编辑的位置,到后 ...

  5. 安卓开发笔记①:利用高德地图API进行定位、开发电子围栏、天气预报、轨迹记录、搜索周边(位置)

    高德地图开发时需要导入的包在下面的网盘链接中:(由于高德地图api更新得太快,官网上最新的包使用起来没有之前的方便,所以以下提供最全面的原始包) 链接:http://pan.baidu.com/s/1 ...

  6. Android 编程 AMapLocationClientOption 类中的 setMockEnable (高德地图 com.amap.api.location.AMapLocationClientOption 中的类)

    setMockEnable 高德地图中 AMapLocationClientOption 中有一个方法是设置APP是否接受模拟定位的设置,就是方法 setMockEnable //设置是否允许模拟位置 ...

  7. web开发如何使用高德地图API(一)浏览器定位

    说两句: 以下内容除了我自己写的部分,其他部分在高德开放平台都有(可点击外链访问). 我所整理的内容以实际项目为基础希望更有针对性的,更精简. 点击直奔主题. 准备工作: 首先,注册开发者账号,成为高 ...

  8. react项目中引用amap(高德地图)坑

    最近在写一个react项目,用到了需要定位的需求,于是乎自己决定用高德地图(AMap),但是react官方文档的案列很少,大多都是原生JS的方法. 在调用amap的 Geocoder Api 时,一直 ...

  9. 微信小程序-基于高德地图API实现天气组件(动态效果)

    微信小程序-基于高德地图API实现天气组件(动态效果) ​ 在社区翻腾了许久,没有找到合适的天气插件.迫不得已,只好借鉴互联网上的web项目,手动迁移到小程序中使用.现在分享到互联网社区中,帮助后续有 ...

随机推荐

  1. BZOJ 1293: [SCOI2009]生日礼物【单调队列】

    1293: [SCOI2009]生日礼物 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2534  Solved: 1383[Submit][Stat ...

  2. 总结过滤器,监听器,servlet的异同点,已经执行顺序。

    1.过滤器 Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码.做一些业务逻辑判断等.其工作原理是,只要你在web.xml ...

  3. linphone-android-客户端APP-工程解读

    LinphoneLauncherActivity 是APP的入口组件,在这个组件里,它会启动LinphoneService这个后台服务,然后不断地判断这个后台服务是否已经启动完毕,如果已经启动完毕后, ...

  4. [数据分析工具] Pandas 功能介绍(一)

    如果你在使用 Pandas(Python Data Analysis Library) 的话,下面介绍的对你一定会有帮助的. 首先我们先介绍一些简单的概念 DataFrame:行列数据,类似 Exce ...

  5. Linux 离线安装Rubygems详解

    很多时候我们会发现,真实的生成环境很多都没有外网,只有内网环境,这个时候我们又需要安装RubyGems,则不能提供yum命令进行在线安装了,这个时候我们就需要下载安装包进行离线安装.本文主要简单介绍如 ...

  6. Python 之 基础知识(三)

    一.函数 def 函数名(): 函数封装的代码 ... def是英文define缩写 别的Python文件可以引入 调用 定义时 和其他代码包括注释保留两个空行 pycharm 调试时 F8 Step ...

  7. 使用 EclEmma 进行覆盖测试

    开源软件测试工具 EclEmma,它能够对由 Java 语言编写的程序进行覆盖测试,从而对程序运行的结果生成详尽的覆盖测试报告. UT-Junit 安装 EclEmma 插件 安装 EclEmma 插 ...

  8. 2017-06-19 (cp mkdir rm 运行级别及修改)

    mkdir 用于创建目录 mkdir  -p  递归创建目录 mkdir -p /linux/linux rm 用于删除文件与目录 rm -r  删除目录 -f  强制删除   (一般情况下 rf 组 ...

  9. Hystrix-异常处理

    异常的传播和捕获 传播:在HystrixCommand实现的run()方法中跑出异常时,除了HystrixBadRequestException之外,其他异常均会被Hystrix认为命令执行失败并处罚 ...

  10. Java 中的变量

    变量 Java 程序的变量大体可分为成员变量和局部变量. 局部变量 形参:在方法签名中定义的局部变量,由方法调用者负责为其赋值,随方法的结束而消亡. 方法内的局部变量:在方法内定义的局部变量,必须在方 ...