2023年 vue使用腾讯地图搜索、关键字输入提示、地点显示

Vue3引入腾讯地图,点击坐标后实时获取经纬度 1,引入腾讯地图,需要借助腾讯地图提供的 SDK,先需要在腾讯地图开发平台添加应用,申请对应的调用 key凭证,开发平台地址:https://lbs.qq.com/dev/console/application/mine。2,找到Vue/Vue3 项目中的 index.html , 通过 script 标签 引入 腾讯地图 sdk。3,在组件中实现核心代码,渲染地图组件, 阅读详情

先看结果
请添加图片描述
vue 在public文件下的index.html文件中引入:

  <script src="//map.qq.com/api/js?v=2.exp&key=你自己的key"></script>
  <script src="https://map.qq.com/api/gljs?v=1.exp&libraries=service&key=你自己的key"></script>

弹窗组件:

<template>
  <div>
    <el-dialog
      title="位置信息"
      :visible.sync="dialogVisible"
      append-to-body
      width="66%"
      top="2vh"
      class="dialogStyle"
      @close="dialogVisible = false"
    >
      <div class="content">
        <div class="left" v-if="showType == 'add'">
          <div style="display: flex; margin-bottom: 10px">
            <el-input v-model="input" placeholder="请输入位置关键字"></el-input>
            <el-button type="primary" @click="search">搜索</el-button>
          </div>

          <div class="adressBox" v-if="adressList.length">
            <div
              v-for="(item, index) in adressList"
              :key="index"
              @click="chooseAdress(item, index)"
            >
              <span
                class="el-icon-location"
                style="font-size: 16px; color: #409eff; margin-right: 10px"
              >
              </span>
              <span :class="[item.isChoose === true ? 'check' : '']">{{
                item.title
              }}</span>
            </div>
          </div>
          <el-form ref="form" :model="form" label-width="68px">
            <el-form-item label="定位类型">
              <el-input
                style="width: 86%"
                v-model="form.mapType"
                placeholder="请输入定位类型"
              ></el-input>
            </el-form-item>
            <el-form-item label="是否常用">
              <el-switch
                v-model="form.isItCommonlyUsed"
                active-color="#13ce66"
                inactive-color="#ccc"
              >
              </el-switch>
            </el-form-item>
          </el-form>
        </div>
        <!-- 地图 -->
        <div id="map" style="width: 140%; height: 600px"></div>
      </div>

      <span slot="footer" class="dialog-footer" v-if="showType == 'add'">
        <el-button @click="dialogVisible = false">取 消</el-button>
        <el-button type="primary" @click="comfig">确 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>

<script>
export default {
  data() {
    return {
      dialogVisible: false,
      input: "",
      adressList: [],
      showType: "",
      form: {
        mapType: "", //地图类型
        isItCommonlyUsed: false, //是否常用
      },
      chooseItem: {},
    };
  },
  methods: {
    show(data, type) {
      Object.assign(this.$data, this.$options.data())
      console.log(data, "data");
      this.showType = type;
      this.dialogVisible = true;
      this.$nextTick(() => {
        if (this.showType === "detail") {
          this.reserMap(data.lat, data.lng, 15);
        } else {
          if (data.lat && data.lng) {
            this.form.mapType = data.remark;
            this.form.isItCommonlyUsed = data.favorites;
            this.reserMap(data.lat, data.lng, 15);
          } else {
            this.reserMap(33.698948, 106.154273, 4);
          }
        }
      });
    },
    // 确定
    comfig() {
      this.$emit("comfig", this.chooseItem, this.form);
      this.adressList = [];
      this.dialogVisible = false;
    },

    //当我点击哪一个的时候改变背景色
    chooseAdress(data, index) {
      console.log(data, "选择的地址");
      this.chooseItem = data;
      // 取消之前选中的地址样式
      this.adressList.forEach((item, i) => {
        if (i !== index) {
          item.isChoose = false;
        }
      });
      // 设置当前选中的地址样式
      this.adressList[index].isChoose = true;
      this.$forceUpdate();
      this.reserMap(data.location.lat, data.location.lng, 15);
    },

    //地图显示
    reserMap(lat, lng, zoom) {
      const center = new qq.maps.LatLng(lat, lng);
      const mapContainer = document.getElementById("map");
      const map = new qq.maps.Map(mapContainer, {
        center: center,
        draggable: true,
        zoom: zoom,
      });
      if (zoom === 15) {
        const marker = new qq.maps.Marker({
          position: new qq.maps.LatLng(lat, lng),
          map: map,
        });
      }
    },
    // 搜索
    search() {
      const suggest = new TMap.service.Suggestion({
        pageSize: 10, // 返回结果每页条目数
        regionFix: false, // 搜索无结果时是否固定在当前城市
        servicesk: "", // key
      });
      suggest
        .getSuggestions({
          keyword: this.input,
          servicesk: "", // 签名(可在腾讯地图开放平台中拿)
        })
        .then((result) => {
          console.log(result, "搜索");
          this.adressList = result.data;
          this.adressList.forEach((item) => {
            item.isChoose = false;
          });
          // console.log(result, "搜索2");
        });
    },
  },
};
</script>

<style scoped>
.dialogStyle >>> .el-dialog__footer {
  text-align: center;
}
.dialogStyle >>> .el-dialog__body {
  padding-top: 10px;
}
.content {
  display: flex;
}
.left {
  width: 90%;
  margin-right: 20px;
}
.adressBox {
  width: 100%;
  height: 300px;
  overflow: auto;
  border: 1px solid #c5c5c5;
  border-radius: 6px;
  margin-bottom: 20px;
}
.adressBox div {
  font-size: 16px;
  padding-left: 14px;
  line-height: 38px;
  border-bottom: 1px solid #eee;
}
.adressBox div:hover {
  background: #e1e1e1;
  cursor: pointer;
}
.check {
  font-size: 18px;
  font-weight: 600;
  color: #409eff;
}
</style>

签名:
在这里插入图片描述
其他相关地图API可参考:腾讯地图api-基本用法总结 官方文档

腾讯地图关键字智能提示搜索 前言 开发者在开发诸如地点检索或行程推荐的系统,这时候用户常常需要对地址信息进行输入检索,提供关键词输入提示功能的话,将有助于用户快速查找地址,提高搜索的体验感。利用腾讯地图提供的接口可以快速的实现智能化的输入提示。具体的实现方法见下文。 一、功能介绍 关键词输入提示接口可以用于获取输入关键字的补完与提示,帮助用户快速输入。可以通过配合前端程序实现Autocomplete(自动完成)的效果。 二、密钥申请 1. 用户登录 打开腾讯位置服务主页:https://lbs.qq.com,点击右上角的登录按钮: 阅读详情

相关推荐

uniapp - 最详细 H5 网页接入腾讯地图的完整流程,提供地图显示、IP 属地定位、地理位置名称、获取经纬度等超多功能示例(可一键复制并运行的功能源代码,详细的注释及常见问题汇总)小白直接上手!

uniappH5网页引入腾讯地图详细教程,uni-app引入腾讯地图,uniapp公众号H5网站如何植入腾讯地图,uniappH5平台腾讯地图配置及使用详细教程,uniappH5植入腾讯地图SDK,uniappH5公众号项目怎么用腾讯地图,uniappH5网页IP属地定位,获取当前用户位置名称,uniapph5网站如何使用腾讯地图获取用户的定位位置,uniappH5腾讯地图怎么接入,uniappH5项目中使用腾讯地图sdk,uni-app中使用腾讯地图,uniappH5网站集成腾讯地图功能,u

🏆 前端领域优质创作者 1万+

vue3使用腾讯地图(关键词搜索,地址获取经纬度,标记位置)

vue3使用腾讯地图(关键词搜索,地址获取经纬度,标记位置)

weixin_52164116的博客 7561

工业级隔离CAN FD收发器ISO1042设计实战:从原理到EMC防护

在工业自动化与伺服驱动系统中,CAN总线是实现设备间可靠通信的关键技术。其核心原理是通过差分信号传输和仲裁机制,在复杂电磁环境中实现多节点实时数据交换。这项技术的核心价值在于为高噪声、高干扰的工业现场提供了稳定、确定性的通信基础,是构建分布式控制系统不可或缺的环节。其典型应用场景包括新能源汽车电池管理、工业机器人伺服控制以及光伏逆变器集群通信等。本文将聚焦于如何通过高性能隔离CAN FD收发器(如TI的ISO1042)来应对地电位差、浪涌和高压串扰等现场挑战,深入解析其集成的电气隔离、±70V总线故障保护和

weixin_26834815的博客 387

vue2 - 使用腾讯api进行定位获取,绘制地图、标点、搜索、路线规划

vue2使用腾讯地图api进行定位获取,绘制地图、标点、搜索、路线规划

尽日寻春不见春,芒鞋踏遍陇头云。归来笑拈梅花嗅,春在枝头已十分。 1万+

突破III-V/硅混合集成的挑战:UTC光电探测器能带工程仿真实践

本文探讨了UTC光电探测器在III-V/硅混合集成中的能带工程仿真实践,通过Ansys Lumerical平台实现多物理场仿真,解决晶格失配和能带不连续性等关键挑战。文章详细介绍了FDTD光学仿真和CHARGE电学仿真方法,优化器件性能,提升响应度和带宽,为高速光通信和量子计算提供技术支持。

weixin_29219539的博客 295

Microduck机器鸭开源AI项目:本地部署与模型微调实战指南

开源AI模型的本地化部署与定制化训练正成为开发者关注的技术趋势。与依赖云端API的在线服务不同,本地部署允许用户将模型权重下载至自有GPU环境,通过命令行或WebUI完成推理、批量任务处理及API集成,在数据隐私、离线使用和接口稳定性方面具备天然优势。模型微调则基于预训练权重,利用领域数据训练特定任务,从而提升生成质量与业务适配度。这一技术路径广泛应用于内容生成、智能对话、自动标注等场景,尤其适合消费级显卡开发者、数据敏感型团队及二次开发研究者。Microduck(机器鸭)作为近期预售火爆的开源项目,围绕“

weixin_29082143的博客 414

基于SpringBoot+Vue的智慧青旅系统(支付宝沙盒支付、地图API、线上签名、Echarts图形化分析)

🎈系统亮点:支付宝沙盒支付、地图API、线上签名、Echarts图形化分析;

paopaokaka_luck的博客 874

巡检机器人的基于ROS系统的任务管理架构设计总结

本文探讨了基于ROS(机器人操作系统)的工业巡检机器人任务管理架构设计,提出分层闭环方案。架构围绕稳、准、活、扩四大目标,分为感知层(多源数据融合)、调度层(智能决策)、执行层(动作控制)和数据层(存储交互)。关键技术包括ROS2实时性优化、功能包复用和多机器人协同调度。实践案例显示,该架构在电力巡检中使任务完成率达99%,在化工园区实现95%覆盖率。当前挑战包括SLAM地图漂移和多机通信延迟,未来可通过语义SLAM和区域通信优化。

start_up_go的博客 466

基于SpringBoot+Vue的编程学习管理系统(AI问答、WebsSocket实时聊天、协同过滤算法、自动组卷、Echarts图形化分析、自动打卡)

系统亮点:AI问答、WebsSocket实时聊天、协同过滤算法、自动组卷、Echarts图形化分析、自动打卡

paopaokaka_luck的博客 463

【应用】打造你的安全本地AI购物助手:OpenClaw + 淘宝MCP部署全攻略

本文介绍了在Ubuntu虚拟机中配置OpenClaw连接Windows宿主机的淘宝MCP服务的两种方案。核心原理是通过修改MCP服务监听地址或SSH隧道转发,实现跨网络访问。方案1推荐修改MCP服务绑定0.0.0.0并配置防火墙放行端口,适合长期使用;方案2通过SSH隧道转发,适合临时测试。文章详细说明了环境准备、配置文件修改及两种互通方案的具体实施步骤,重点解决了虚拟机与宿主机网络互通的关键问题。

海兰 1321

SAP 销售订单BOM使用场景简介

通常在MTO的生产场景中,我们会根据已创建的SO去展开BOM去驱动生产,如果我们生产地产品BOM是通用性的通常我们用标准BOM的方式就可以实现,但是实际在生产过程中往往不会这样,不同的客户对某些物料的规格就不相同,就会涉及产生不同的BOM,但是该客户的产品又不存在通用性,这个时候就会引入概念就是销售订单BOM,先有销售订单然后根据销售订单+行项目创建BOM。销售BOM:根据销售订单号+行项目号创建的BOM,是根据特定的销售订单或者可以理解为特定的客户创建的BOM。

我小时候很黑的博客 4219

Vue项目引入腾讯地图,实现可以根据关键词搜出相关位置,并定位到该位置

所选地址:{{}}

是大林的林吖-博客 1562

Oracle EBS Interface/API(42) -AP发票客制化付款申请

背景 在OA系统上,选择Oracle EBS的某张AP发票做付款申请,需要类似于锁定该发票以便付款,其他用户或者下次用户不能再次选择该发票做付款申请。 快速参考 参考点 内容 功能导航 N: AP->Invoices->Entry>Invoices 并发请求 None 基表 AP.AP_INV_SELECTION_CRITERIA_ALLAP.AP_SELECTED_INVOICES_ALL API 参考下面介绍 错误信息表 None 接口Form

陈显平的专栏-Oracle EBS 1200

Vue引入腾讯地图(搜索获取定位)

2.进入控制台,点击左侧菜单应用管理—我的应用,点击右上方创建应用,填写内容如下。以Vue项目为例,在index.html文件中添加。WebServiceAPI里根据自己的情况填写。保存后显示刚刚的应用即可使用腾讯地图。新建map.vue 腾讯地图组件。

sinat_41273766的博客 1万+

实干派!网易易盾增强版滑块验证码,全方位讲解识别思路(含源码)

该验证码是异形滑块验证码中的一种,缺口旋转+偏移的处理需要你有很好的图像处理知识,能很好的处理透明通道,同时,该验证码需要你能很好的处理缺口和背景之间匹配的关系,该验证码的处理难点就是两个缺口之间如何找到正确的,两个检测框都有很强的相似度,且加上背景图的干扰,在图像处理和有优化上难度大大增加。

码王吴彦祖的博客 2015

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

vue3使用腾讯地图(‘关键词搜索、逆地址解析‘)

v=2.exp&key=你的key">前提:为解决跨域需要使用vue-jsonp来联调腾讯地图服务端接口。yarn安装: yarn add vue-jsonp。npm安装: npm i vue-jsonp -S。引入腾讯资源包,并把申请的key填入。

Jk200165的博客 3004

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

VUE2.0 插入腾讯地图(有经纬度和搜索功能以及标记’)

代码如下 复制粘贴即可。

m0_59382352的博客 2593

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

vue3.0+腾讯地图+拖拽选择+关键字搜索(Failed to execute ‘postMessage‘ on ‘Worker‘: [object Object] could not be cl)

1、腾讯地图官网获取key值 ,控制台——应用管理——创建应用。初始化地图和中心点 ,监控地图拖动。2、创建应用成功后设置key值。中否则在之后修改中心点时会。

sxm的博客 1539

vue 腾讯地图 组件使用与开发根据关键词搜索,逆地址解析

前言 由于参考以下链接博主的组件使用时发生错误(可能由于时间问题腾讯方改变了服务导致错误发生),查资料后,基于此教程进行开发 腾讯地图vue组件开发 改为使用腾讯服务的web service api 修复部分bug 项目分为前后端两部分,后端负责访问腾讯服务的web service api,前端展示地图以及数据 项目github地址 成品 提前准备 前往腾讯位置服务控制台申请key 注册后-》控制台-》应用管理-》我的应用-》右上角创建应用 得到key和secret key 地址 使用secret

Zyd_code的博客 1437

vue3使用腾讯地图选择地点

vue3使用腾讯地图选择地点vue3使用腾讯地图选择地点vue3使用腾讯地图选择地点

风度 1366

vue3 + 腾讯地图API + 拖拽定位

vue3 + 腾讯地图API + 拖拽定位

dzkkkkkk的博客 3805

vue pc端使用腾讯地图进行搜索和选点

vuepc端使用腾讯地图进行搜索选点

qq_39822531的博客 3442

获取用户当前地址

获取用户当前地址 申请开发者密钥(key):申请密钥 开通webserviceAPI服务:控制台 -> key管理 -> 设置(使用该功能的key)-> 勾选webserviceAPI -> 保存 (小程序SDK需要用到webserviceAPI的部分服务,所以使用该功能的KEY需要具备相应的权限) 下载微信小程序JavaScriptSDK,微信小程序JavaScriptSDK v1.1 JavaScriptSDK v1.2 安全域名设置,在小程序管理后台 -

LJiaJia595的博客 1043

vue3+ts使用腾讯地图

1.在index.html中引入。2.在vue文件中写入。

💻 专注 Vue 前端与 Java 后端技术 🌱 目前正在深入 Spring Boot、微服务与性能优化 📝 定期分享实战踩坑经验与学习笔记 🤝 欢迎交流,共同进步 1568

vue3移动端腾讯地图坐标拾取,获取当前定位(腾讯、高德、百度、天地图),火星坐标GCJ-02–>百度坐标BD-09,根据坐标经纬度计算两点距离的方法,点击链接打开地图导航的方法

文章目录前言地图选点(坐标拾取)一、调用示例二、调用方法获取当前定位一、调用示例二、调用方法other:高德地图、百度地图、天地图获取当前定位的方法一、高德地图二、百度地图(支持异步加载)三、天地图腾讯、高德、百度地图坐标系相互转换的方法(火星坐标GCJ-02–>百度坐标BD-09)根据坐标经纬度计算两点距离的方法点击链接打开地图导航的方法总结 前言 具体请参考腾讯地图开发者平台 https://lbs.qq.com/webApi tips: 1、无论是腾讯地图还是高德、百度、天地图,都建议使用ht

weixin_44308055的博客 7737

vue项目使用腾讯地图获取定位

一、注册成为腾讯地图开发者 https://lbs.qq.com/ 创建新秘钥 https://lbs.qq.com/dev/console/key/manage 根据页面提示填写相关信息 复制你的秘钥 二、vue中index.html中里引入需要的js文件 注意填写你的密钥 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta nam.

一起coding,一起嗨。 8585
上一篇: 如果代码已关联git仓库,但是想将代码提交到新的仓库,应该如何做?
下一篇: vue + el-table点击表头改变其当前样式
昨夜太平长安888
博客等级 码龄9年 1万+粉丝 176原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值