专栏名称: pan小鱼
前端工程师
目录
相关文章推荐
世界音乐  ·  中国渔民,冒死救下384名英国人 ·  2 天前  
Supreme情报网  ·  预警:「Kanye」演唱会门票又要发售了!原 ... ·  6 天前  
Supreme情报网  ·  预警:「Kanye」演唱会门票又要发售了!原 ... ·  6 天前  
51好读  ›  专栏  ›  pan小鱼

高德地图的地图组件 - vue-amap

pan小鱼  · 掘金  ·  · 2019-08-11 04:29

正文

阅读 91

高德地图的地图组件 - vue-amap

想要获取当前的位置,即可使用vue-amap是基于Vue 2.0和高德地图的地图组件。

使用步骤:

1.安装

    npm install -S vue-amap // 可在package.json查看是否安装
复制代码

2.在入口文件main.js引入

    // 引入高德地图
    // 高德地图组件使用
    import VueAMap from 'vue-amap'
    
    Vue.config.productionTip = false
    Vue.use(VueAMap);
    VueAMap.initAMapApiLoader({
      key: 'your amap key', 
      plugin: [
      'AMap.Autocomplete', 
      'AMap.PlaceSearch', // POI搜索插件
      'AMap.Scale', // 右下角缩略图插件 比例尺
      'AMap.OverView', 
      'AMap.ToolBar', // 地图工具条
      'AMap.MapType', 
      'AMap.PolyEditor', 
      'AMap.CircleEditor',// 圆形编辑器插件
      'AMap.Geolocation'// 定位控件,用来获取和展示用户主机所在的经纬度位置
      ],
      // 默认高德 sdk 版本为 1.4.4
      v: '1.4.4'
    });
复制代码

3.在组件中.vue文件

     <div class="getlocation">定位</div>
     <el-amap vid="amap" :plugin="plugin" class="amap-demo" :center="center"></el-amap>
     <div class="toolbar">
       <span v-if="loaded">location: lng = {{ lng }} lat = {{ lat }}</span>
       <span v-else>正在定位</span>
     </div>
     
     script里面
       export default {
       data() {
         let self = this;
         return {
            center: [121.59996, 31.197646],
            lng: 0, 
            lat: 0,
            loaded: false,
           plugin: [
              {
                pName: "Geolocation", //定位
                events: {
                  init(o) {
                    // o 是高德地图定位插件实例
                    o.getCurrentPosition((status, result) => {
                      if (result && result.position) {
                        console.log(status, result);
                        self.lng = result.position.lng; //设置经度
                        self.lat = result.position.lat; //设置维度
                        self.center = [self.lng, self.lat]; //设置中心坐标
                        self.loaded = true;
                        self.$nextTick();
                      }
                    });
                  }
                }
              }
            ]
         };
       },
       
       
       style里
        .getlocation{
            margin-left:4rem;
            font-size:15px;
            font-weight: 500;
            margin-top:0.3rem;
        }
        .amap-demo {
          height: 15rem;
          margin-top: 0.3rem;
        }
复制代码

这是我在开发中做的获取当前位置的功能,通过vue-amap插件即可获取当前位置的经纬度,基于高德地图定位的定位功能。