vue项目如何调用高德地图

本文详细介绍了如何在Vue项目中集成高德地图组件,包括获取高德地图API key、通过npm安装和配置vue-amap插件,以及在.vue文件中实现地图展示和定位功能的具体步骤。

高德地图组件在vue项目中的应用

一、获取高德地图的key

  获取地址:高德开放平台https://lbs.amap.com/

1、手机号登录高德开放平台

2、

 

 

3、选择web服务,然后提交,就会生成key的值

 

二、npm安装vue-amap

  1.npm安装vue-amap

    npm install vue-amap --save

 

  2.在项目main.js引入vue-amap

import AMap from 'vue-amap';
Vue.use(AMap);

  // 初始化vue-amap
AMap.initAMapApiLoader({
  // 高德key
  key: '你的key',
  // 插件集合 (插件按需引入)
  plugin: ['AMap.Geolocation']
});

  3.重点来了

    (1)在map.vue(我自己定义的 .vue) template 中加入

 

<template>
  <div class="amap-page-container">
    <div :style="{width:'100%',height:'300px'}">
      <el-amap vid="amap" :plugin="plugin" class="amap-demo" :center="center">
      </el-amap>
    </div>


    <div class="toolbar">
        <span v-if="loaded">
          location: lng = {{ lng }} lat = {{ lat }}
        </span>
      <span v-else>正在定位</span>
    </div>
    <div
      v-on:click="req_post()"
    >
      查询周边
    </div>
  </div>
</template>
<style>
  .amap-demo {
    height: 300px;
  }
</style>

 

 (2)在 script export default 中加入

 

  export default {
        data(){
          const self = this;
          return {
            center: [121.59996, 31.197646],
            lng: 0,
            lat: 0,
            loaded: false,
            plugin: [{
              enableHighAccuracy: true,//是否使用高精度定位,默认:true
              timeout: 100,          //超过10秒后停止定位,默认:无穷大
              maximumAge: 0,           //定位结果缓存0毫秒,默认:0
              convert: true,           //自动偏移坐标,偏移后的坐标为高德坐标,默认:true
              showButton: true,        //显示定位按钮,默认:true
              buttonPosition: 'RB',    //定位按钮停靠位置,默认:'LB',左下角
              showMarker: true,        //定位成功后在定位到的位置显示点标记,默认:true
              showCircle: true,        //定位成功后用圆圈表示定位精度范围,默认:true
              panToLocation: true,     //定位成功后将定位到的位置作为地图中心点,默认:true
              zoomToAccuracy:true,//定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:f
              extensions:'all',
              pName: 'Geolocation',
              events: {
                init(o) {
                  // o 是高德地图定位插件实例
                  o.getCurrentPosition((status, result) => {
                    console.log(result)
                    if (result && result.position) {
                      self.lng = result.position.lng;
                      self.lat = result.position.lat;
                      self.center = [self.lng, self.lat];
                      self.loaded = true;
                      self.$nextTick();
                    }
                  });
                }
              }
            }]
          }
        }
   }

代码参考
【作者:妄自
链接:https://www.jianshu.com/p/bde9526ad756
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。】

 【center:为焦点地址,可以修改,第一个参数为经度,第二个参数为维度】

 

三、获得本地地图坐标的经纬度

  文档地址:http://www.downza.cn/xy/22040.html

 

找到目的地->右击->这是哪儿->更多->分享->复制->浏览器打开

 

浏览器网址中【https://www.amap.com/regeo?lng=117.115899&lat=36.114165&name=%E6%B3%B0%E5%AE%89%E5%B8%82%E5%B2%B1%E5%B2%B3%E5%8C%BA%E5%8D%97%E5%A4%A9%E9%97%A8%E5%A4%A7%E8%A1%97&adcode=370900】

Lng为经度,lat为维度

 

转载于:https://www.cnblogs.com/wangyuxue/p/11202222.html

### Vue3 集成高德地图 API 使用教程 #### 准备工作 在开始集成高德地图前,需完成以下前置条件: - 注册高德开放平台账号并创建应用获取 `key`。 - 确保项目环境支持 ES Modules 或 CommonJS 模块化加载。 #### 引入高德地图脚本 通过 `<script>` 标签动态加载高德地图 JSAPI 是一种常见方式。可以利用 Vue3 生命周期钩子函数,在组件挂载时初始化地图实例[^1]。 ```javascript <script setup> import { onMounted } from 'vue'; const initMap = () => { const script = document.createElement('script'); script.src = `https://webapi.amap.com/maps?v=2.0&key=您的Key`; script.onload = () => { console.log('高德地图加载成功'); }; document.body.appendChild(script); }; onMounted(() => { initMap(); }); </script> ``` #### 创建地图容器 定义一个 DOM 容器用于承载地图显示区域,并设置其宽高样式以确保正常渲染[^2]。 ```html <template> <div id="mapContainer" style="width: 100%; height: 500px;"></div> </template> ``` #### 初始化地图对象 当脚本加载完成后,可以通过 AMap 对象创建地图实例,并绑定至指定的 HTML 元素上[^3]。 ```javascript let map; const initializeMap = () => { map = new window.AMap.Map('mapContainer', { zoom: 10, // 设置缩放级别 center: [116.397428, 39.90923], // 设置中心点坐标 }); }; ``` 调用此方法应在确认高德地图库已完全加载之后执行: ```javascript if (window.AMap && !map) { initializeMap(); } ``` #### 添加功能插件 如果需要扩展更多高级特性(如地点搜索、路径规划),可按需引入对应插件[^4]。 ```javascript // 加载插件服务 AMap.plugin(['AMap.ToolBar', 'AMap.Scale'], function() { map.addControl(new AMap.ToolBar()); map.addControl(new AMap.Scale()); }); ``` 以上代码片段展示了如何向地图添加工具条和比例尺控件。 --- ### 注意事项 - 替换占位符 `"您的Key"` 为实际申请得到的应用 Key。 - 如果遇到跨域请求失败的情况,请检查是否正确配置了允许访问的域名白名单。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值