vue中使用腾讯API地图,实现搜索关键词获取经纬度和地址并显示地图
vue中使用腾讯API地图实现搜索关键词获取经纬度和地址并显示地图调用腾讯地图api前需要先去注册并申请key在vue项目中的/public文件夹中的index.html的head中写入安装lodashnpm install --save lodash安装jsonp npm install vue-jsonp --savemain.js引入jsonpimportVuefromvueimport{VueJsonp}fromvue-jsonpVue.use(VueJsonp)Vue.config.productionTipfalsenewVue({router,store,render:hh(App)}).$mount(#app)在public中的index.html文件中引入script标签加上链接script srchttps://map.qq.com/api/gljs?v1.expkeyOB4BZ***/script// key 换成自己的key具体代码功能如下// template中templatediv idappdivclassboxdivclasssearch-boxinput typetextv-modelsearchValueclasssearchinputsearchHandlerulclassv-ifkwData.length ! 0li v-for(kw, i) in kwData:keyiclickclickLiHandler(kw){{kw.title}}/li/ul/divh3地址{{address}}/h3divclasslocationh3经度{{lng}}/h3h3纬度{{lat}}/h3/divbr/div idmapContainer/div/div/div/template// scriptscript// import { debounce } from throttle-debounce// 安装lodashnpm install lodash --save 安装jsonp npm install vue-jsonp --saveimportlodashfromlodashletthatexportdefault({data(){return{addValue:,longitude:,latitude:,searchValue:,kwData:,clickLi:true,lng:,lat:,address:,markerUrl:require(./assets/logo.png),// 点标记图片路径map:,zoom:4,// 地图一开始的缩放级别center:newwindow.TMap.LatLng(39.984120,116.307484),// 地图一开始的中心点markerLayer:,geometries:[]}},created(){thatthis},mounted(){this.init1()},methods:{init1(){vardrawContainerdocument.getElementById(mapContainer);// var center new window.TMap.LatLng(39.984104, 116.307503);//设置中心点坐标 lat: 23.228237 lng: 113.273747varcenternewwindow.TMap.LatLng(23.228237,113.273747);//设置中心点坐标 lat: 23.228237 lng: 113.273747this.mapnewwindow.TMap.Map(drawContainer,{zoom:9,pitch:40,center:center,draggable:true,scrollable:true,mapStyleId:style 1});console.log(drawContainer,drawContainer)console.log(111,this.map)// 创建点聚合实例varmarkerClusternewwindow.TMap.MarkerCluster({id:cluster,map:this.map,enableDefaultStyle:true,// 启用默认样式minimumClusterSize:1,// 形成聚合簇的最小个数geometries:this.geometries,zoomOnClick:true,// 点击簇时放大至簇内点分离gridSize:60,// 聚合算法的可聚合距离averageCenter:false,// 每个聚和簇的中心是否应该是聚类中所有标记的平均值maxZoom:10// 采用聚合策略的最大缩放级别})markerCluster},// 添加点标记addPoint(point){// 一个point需要有id和坐标this.markerLayer.add([{id:point[id],styleId:mystyle,position:newwindow.TMap.LatLng(point[latitude],point[longitude]),properties:{}// 自定义属性可以没有}])},addrToGetCoordinate(event){console.log(event,event)console.log(event.target.value)letaddrevent.target.valuethis.$jsonp(https://apis.map.qq.com/ws/geocoder/v1/,{key:6V3BZ-****,// 换成自己的keyoutput:jsonp,address:addr}).then((res){console.log(res)if(res.status0){// 处理得到的经纬度this.longituderes.result.location.lngthis.latituderes.result.location.lat console.log(经度,this.longitude)console.log(纬度,this.latitude)// 用获取到的经纬度修改地图的中心点// this.changeCenter(res.result.location.lat.toFixed(6), res.result.location.lng.toFixed(6))}}).catch((e){console.log(e)})},getKwd(event){letkwevent.target.value console.log(111,kw)this.$jsonp(https://apis.map.qq.com/ws/place/v1/suggestion,{key:6V3BZ****,// 换成自己的keyoutput:jsonp,keyword:kw,region:广州市}).then((res){console.log(res)if(res.status0){console.log(res)this.kwDatares.data// 用获取到的经纬度修改地图的中心点// this.changeCenter(res.result.location.lat.toFixed(6), res.result.location.lng.toFixed(6))}else{this.kwData[]}}).catch((e){console.log(e)})},searchHandler:lodash.debounce((event){console.log(222,this)console.log(event,event)that.getKwd(event)},500),clickLiHandler(kwObj){// 点击搜索关键词项// this.clickLi falsethis.searchValuekwObj.titlethis.lngkwObj.location.lngthis.latkwObj.location.latthis.addresskwObj.addressthis.geometries[{// 点数组position:newwindow.TMap.LatLng(this.lat,this.lng)}]this.init1()console.log(this.lat,this.lng)this.kwData[]}}})/scriptstyle langless#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50;.search{margin-top:20px;}.box{margin:0auto;width:1080px;margin-top:80px;input{outline:none;width:300px;height:30px;border:1px solid #ccc;padding:10px;background-color:white;box-sizing:border-box;}.search-box{position:relative;ul{// border: 1px solid #ccc;// box-shadow: 1px, 1px, 1px, 1px, #ccc;box-shadow:0px 5px 15pxrgba(165,165,165,0.438);width:300px;position:absolute;left:389px;bottom:-293px;box-sizing:border-box;padding:10px;font-size:12px;z-index:100;background-color:white;li{list-style:none;padding:5px;text-align:left;:hover{background-color:#7ad9ff;cursor:pointer;}}}}.location{display:flex;text-align:center;justify-content:center;h2{width:200px;::nth-child(1){margin-right:20px;}}}}.map{width:700px;height:700px;}#mapContainer{width:600px;height:600px;margin:0auto;}}#nav{padding:30px;a{font-weight:bold;color:#2c3e50;.router-link-exact-active{color:#42b983;}}}/style效果图查考https://blog.csdn.net/l13620804253/article/details/117259244

相关新闻

微信聊天记录永久保存:你的数字记忆保险箱

微信聊天记录永久保存:你的数字记忆保险箱

微信聊天记录永久保存:你的数字记忆保险箱 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg 你…

2026/10/14 3:42:23 阅读更多 →
界面控件DevExpress Blazor UI v22.2 - 折叠组件、数据编辑器升级增强

界面控件DevExpress Blazor UI v22.2 - 折叠组件、数据编辑器升级增强

DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具,该组件拥有众多新产品和数十个具有高影响力的功能,可为桌面、Web和移动应…

2026/10/12 22:15:51 阅读更多 →
Vue解决父子组件传值,子组件改变值后父组件的值也改变的问题

Vue解决父子组件传值,子组件改变值后父组件的值也改变的问题

vue开发过程中,父组件通过props传值给子组件,子组件在页面展示父组件的值,在操作子组件值以后,即使不点击确定按钮,父组件中的值也发生了变化,但是需求是操作子组件数据以后,必须点击"确定…

2026/10/12 22:15:46 阅读更多 →

最新新闻

PT对称系统在COMSOL中的仿真与应用研究

PT对称系统在COMSOL中的仿真与应用研究

1. 项目背景与核心价值在光学和电磁学领域,PT对称系统(Parity-Time Symmetric Systems)正成为前沿研究热点。这种特殊结构最早由量子力学领域提出,近年来在经典波系统中实现了突破性应用。我们团队使用Comsol Multiphysics对波导、…

2026/10/14 3:42:39 阅读更多 →
AI 智能搜索:Baklib 让回答先有出处

AI 智能搜索:Baklib 让回答先有出处

客服机器人被问到退货规则,把过期 PDF、聊天记录和一篇旧博客拼成一句听起来完整的话。期限张冠李戴,还编出公司从未提供过的办理方式。听起来合理,并不等于可执行。智能体要稳定工作,先要有可验证的知识,而不是更大的…

2026/10/14 3:42:39 阅读更多 →
DBeaver 高阶实战:可脚本化SQL工作流与CI/CD集成指南

DBeaver 高阶实战:可脚本化SQL工作流与CI/CD集成指南

简介:本资源是一份面向数据库开发人员与DBA的DBeaver高效使用指南,聚焦日常高频操作场景,解决工具上手难、查询效率低、SQL编写重复等问题。内容涵盖表结构查看(通过‘打开声明’获取列注释与CREATE语句)、查询性能调优…

2026/10/14 3:42:39 阅读更多 →
拼接屏3D仿真计算器:从原理到实战

拼接屏3D仿真计算器:从原理到实战

1. 引言拼接屏3D仿真计算器是一款面向大屏拼接项目的辅助工具,用于在部署前模拟拼接屏的物理布局、分辨率分配和3D视觉效果。它帮助工程师在方案设计阶段快速验证拼接墙的尺寸、单元数量、缝隙影响以及观看距离,从而降低现场返工成本。本文将从拼接屏的基…

2026/10/14 3:42:39 阅读更多 →
Unity模拟经营游戏时间系统设计:状态机+Timeline+事件总线

Unity模拟经营游戏时间系统设计:状态机+Timeline+事件总线

简介:本资源是一款基于Unity引擎开发的类《星露谷物语》模拟经营游戏《Starland-Time》完整工程包,面向Unity初学者与独立游戏开发者,提供可学习、可调试、可拓展的模拟经营类项目实践范例。压缩包共572个文件,含343个C源码&#…

2026/10/14 3:42:39 阅读更多 →
带同时取送货的车辆路径问题(VRPSDP)建模与模拟退火求解MATLAB实现

带同时取送货的车辆路径问题(VRPSDP)建模与模拟退火求解MATLAB实现

做物流配送优化的人,十有八九遇到过这种场景:同一个客户点,既要给你送一箱新货,又要让你从他那儿拉走一箱退货或者回收品。如果你把这个问题当成普通的车辆路径问题(VRP)去处理,八成会翻车&…

2026/10/14 3:41:38 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →