vue调用高德地图实现点击地图获取地点

本文介绍了如何在Vue项目中结合高德地图API实现地图组件的挂载,包括获取key、配置插件以实现定位和地址解析,并展示了如何进行模糊查询。在过程中遇到的问题是控制台开启时地图才能正常拖动和缩放,但最终问题自行解决。
摘要由CSDN通过智能技术生成

一、获取key(百度)
二、main.js中挂载
在这里插入图片描述

三、页面使用
在这里插入图片描述

 <div class="amap-page-container">
      <el-amap-search-box
        :search-option="searchOption"
        :on-search-result="onSearchResult"
        class="search-box"
      />
      <el-amap
        ref="map"
        :amap-manager="amapManager"
        :center="center"
        :zoom="zoom"
        :plugin="plugin"
        :events="events"
        vid="amapDemo"
        class="amap-demo"
      >
        <el-amap-marker :position="center"/>
      </el-amap>
    </div>

基本设置(data的return里):
在这里插入图片描述
标点获取位置插件和定位插件(同样在data的return里):
在这里插入图片描述

plugin: [
        {
          pName: 'Geocoder', // 使用AMap.Geocoder插件
          events: {
            init(o) {
              Geocoder = o // o 则是AMap.Geocoder的实例 对外部的Geocoder变量进行赋值,在任何地方就都可以使用了
              // self.center 具体坐标 (数组格式) ,function 回调函数
              o.getAddress(self.center, function(status, result) {
                if (status === 'complete' && result.info === 'OK') {
                  // result.regeocode.formattedAddress就是具体位置
                  self.input = result.regeocode.formattedAddress
                  document.querySelector('.search-box-wrapper input').value =
                        self.input
                }
              })
            }
          }
        },
        {
          showMarker: true, // 定位成功后在定位到的位置显示点标记,默认:true
          pName: 'Geolocation', // AMap-Geolocation 定位插件
          events: {
            init(o) {
              o.getCurrentPosition((status, result) => {
                if (result && result.position) {
                  const lng = result.position.lng
                  const lat = result.position.lat
                  self.center = [lng, lat]
                  self.loaded = true
                  self.zoom = 18
                  self.$nextTick()
                }
              })
            }
          }
        }
      ]

三、模糊查询

 methods: {
    onSearchResult(pois) {
      this.input = document.querySelector('.search-box-wrapper input').value
      // 这边类似模糊查询 会返回一个数组,我就直接取第一个值了。
      this.center = [pois[0].lng, pois[0].lat]
    },

在这里插入图片描述
完成。

但是有个小插曲,之前是打开控制台的时候才能进行拖动和缩放,关掉控制台后就失灵了,查询和定位均没有问题。现在正常了,但是至于解决方法,我自己也不知道它是怎么好的😂很尴尬

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值