高德地图——地图渲染及关键字搜索POI功能vue2/web端

本文介绍了如何在Vue2前端项目中使用高德地图,包括注册API key,引入地图,以及在普通页面和弹窗中实现地图渲染。重点讲述了地图不显示的常见原因和解决方案,以及在不同场景下初始化地图的注意事项。同时,针对高德地图搜索框样式问题,提供了全局CSS解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、注册key

👉https://lbs.amap.com/,注册账号登录之后

  1. 应用管理----我的应用----创建新应用
    请添加图片描述

  2. 新建应用填写请添加图片描述

  3. 添加key填写请添加图片描述
    请添加图片描述

二、引入高德地图

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

三、实现代码

本文将分为版本1和版本2进行编写
使用场景:
版本1:普通的页面
版本2:在弹窗或者页面嵌套
按需而取其中一个版本复制粘贴即可

template

版本1:

 <div>
     <div class="mapSearch">
         <el-input
          placeholder="请输入你要查找的关键词"
          v-model="userInput"
          id="tishikuang"
         ></el-input>
         <el-button type="primary" @click="biu">确定选址</el-button>
     </div>
     <div id="container"></div>
 </div>

版本2:
我碰到的一个不显示地图的原因:没把以上代码放在 footer slot 中

dialog 组件中的 footer slot 是实时渲染的,放在其中的 dom 元素才可以直接获取,这里说明一下不显示的原因是:
Dialog 的内容是懒渲染的,即在第一次被打开之前,传入的默认 slot 不会被渲染到 DOM 上。
(。。T A T。。)

   <el-dialog
      :title="titleEdit"
      :visible.sync="openEdit"
      width="1200px"
      append-to-body
      center
    >
     <div slot="footer" class="dialog-footer">
        <div>
          <div class="mapSearch">
            <el-input
              placeholder="请输入你要查找的关键词"
              v-model="userInput"
              id="tishikuang"
            ></el-input>
            <el-button type="primary" @click="biu">确定选址</el-button>
          </div>
          <div id="container"></div>
        </div>
      </div>
    </el-dialog>

script

版本1:

import AMapLoader from '@amap/amap-jsapi-loader'
    window._AMapSecurityConfig = {
   
        securityJsCode: '安全密钥'//在这里填写你的安全密钥
    }
    export default {
   
        data() {
   
            return {
   
                map: null,
                autoOptions: {
   
                    input: 'tishikuang' //绑定的搜索关键字的input标签ID,用这个注册
                },
                auto: null,
                userInput: '', //绑定的搜索关键字的的内容
                placeSearch: null,
                searchHere: null
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值