Vue2中使用高德地图(Loader )

1.需求:根据输入的地址,地图显示地址的位置;

2.准备工作

2.1 注册高德开放平台账户,并完成认证

        根据具体实际情况,完成个人开发或者企业开发认证。

高德开放平台icon-default.png?t=N3I4https://console.amap.com/

2.2在应用管理---我的应用中添加key

注意:服务平台选择web端(JS API)

 2.3参考文档路径

高德开发参考文档路径icon-default.png?t=N3I4https://lbs.amap.com/api/javascript-api-v2/guide/abc/amap-vue

3.实现步骤

3.1 NPM 安装 Loader 

npm i @amap/amap-jsapi-loader --save

3.2新建MyMapView.vue页面:

//模板
<template>
  <div>
    <div id="container" tabindex="0"></div>
  </div>
  
</template>
//js
<script>
import AMapLoader from '@amap/amap-jsapi-loader';

//很关键,没有密钥不能执行下面的 placeSearch.search方法
// 必须
window._AMapSecurityConfig = {
  securityJsCode:"[你申请的密钥]",
}
export default {
  data(){
    return{
      // 地图map对象
      map: undefined
    }
  },
  mounted(){
      //数据渲染完成后执行
      this.initMap()
  },
  methods:{
  initMap(){
    
    AMapLoader.load({
            key: '[你申请到的key]',//必须
            version: '2.0',
            plugins: ['AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor']
            }).then(AMap => {
              //1. 设置地图容器
               this.map = new AMap.Map("container",{  //设置地图容器id
                    viewMode:"3D",    //是否为3D地图模式
                    zoom:5,           //初始化地图级别
                    center:[105.602725,37.076636], //初始化地图中心点位置
                    resizeEnable: true
                })
                AMap.plugin(["AMap.PlaceSearch"], ()=>{
                //2.构造地点查询类
                var placeSearch = new AMap.PlaceSearch({
                    pageSize: 5, // 单页显示结果条数
                    pageIndex: 1, // 页码
                    city: "西安", // 兴趣点城市
                    citylimit: true,  //是否强制限制在设置的城市内搜索
                    map: this.map, // 展现结果的地图实例
                    // panel: "panel", // 结果列表将在此容器中进行展示。
                    autoFitView: true // 是否自动调整地图视野使绘制的 Marker点都处于视口的可见范围
            });
            //3.关键字查询
               let address = "西安市交通大学" //**输入你想要查询的地址**
               placeSearch.search(address,(res,status)=>{
                  if(res==="complete"&&status.info==="OK"){
                    // console.log(res)
                    console.log("地理坐标及信息",status)
                  }
               });
          })
      })
  },
}
}
</script>

注意点:

1.必须要带安全密钥

如果没有安全密钥,控制台不会报错,但是不会执行 placeSearch.search函数;(验证方法:可以在这个函数里面打印内容)

2.必须要输入key

如果没有输入key,报错如下:

 3.如果需要显示如下面板,可以设置new AMap.PlaceSearch中的配置项panel(容器的id名);

并且在template添加如下代码;

<template>
  <div>
    <div id="container" tabindex="0"></div>
    //新增一行代码
    <div id="panel"></div>
  </div>
</template>
//new AMap.PlaceSearch 的配置项中panel进行设置
//构造地点查询类
 var placeSearch = new AMap.PlaceSearch({
     pageSize: 5, 
     pageIndex: 1, 
     city: "西安", 
     citylimit: true,  
     map: this.map,
     panel: "panel", // 注意:新增这一行代码,结果列表将在此容器中进行展示。
     autoFitView: true 
});

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 要在vue2项目使用高德地图,首先需要进入高德地图的官方网站申请一个key和密钥,创建一个项目。然后,安装高德地图的包,可以使用npm i @amap/amap-jsapi-loader --save命令进行安装。接下来,新建一个放地图vue组件,并在mounted生命周期调用创建地图的函数。在这个函数,可以设置地图的缩放级别、心点坐标、地图样式等参数。具体的代码可以参考官方文档。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [vue2项目引入高德地图--1 简单应用](https://blog.csdn.net/Zhang_zhangxka/article/details/128655881)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Vue2项目使用高德地图](https://blog.csdn.net/GP2719434241/article/details/130521598)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [前端系列——vue2+高德地图web端开发(使用和引入)](https://blog.csdn.net/weixin_55683934/article/details/130237445)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值