(前端地图)通过天地图API搜索地点并跳转定位

发布时间:2026/10/13 13:51:47

(前端地图)通过天地图API搜索地点并跳转定位 官方接口文档地址天地图API我这边用到的技术栈发送网络请求 —— axios前端展示组件 —— ant design ui框架 —— vue3逻辑部分 —— typescriptsetup废话不多说我直接以步骤的形式来说明步骤一使用ant组件添加搜索框提供搜索入口div classsearch-box a-input-search v-model:valuesearchKeyword placeholder请输入地点搜索 enter-button searchonSearchLocation / /div搜索框的位置和样式根据需求自行调整步骤二去天地图控制台申请key天地图·应用认证调用天地图下的API这个key是必要的浏览器端 Key前端 Vue/HTML 用必须配置域名白名单本地调试加localhost不在白名单域名直接拒绝访问服务端 Key后端 Java/Python、桌面 GIS 软件用绑定服务器IP 白名单步骤三 配置vite代理浏览器有同源策略会拦截本地前端直接调用天地图接口配置vite代理就可以规避这个问题但是需要注意这个vite代理仅在本地生效部署后需要在nginx中反向代理配置。或者有替代方案就是通过后端接口的方式来转发天地图请求在vite.config.js——server——proxy中添加代理/tianditu: { target: http://api.tianditu.gov.cn, changeOrigin: true, rewrite: (path) path.replace(/^\/tianditu/, ), },这样配置之后就不会存在跨域问题了步骤四逻辑部分发送接口请求//绑定搜索框的值 const searchKeyword ref(); //进行搜索 调用天地图搜索API async function onSearchLocation(){ //去除首尾空格 const keyword searchKeyword.value.trim(); if(!keyword){return} try{ //请求参数 const postStr JSON.stringify({ keyWord:keyword,//搜索关键词 level:7,//级别 mapBound: 73.4,3.8,135.1,53.6, // 全国范围包含南海诸岛完整可视 queryType:1, //普通搜索 count:10,//返回结果数量 start:0,//起始位置 }); //这边的config.vecBasemapKey 是我的key需要替换格式为 tk xxxxxx const response await axios.get(/tianditu/v2/search?${config.vecBasemapKey},{ params:{ postStr, type:query }, }); //请求成功后进行地图跳转定位 if(response.status 200){ handleSearchResult(response.data); }else{ return false; } }catch(err){ console.error(err); return false; } }步骤五请求成功后获取经纬度并进行地图定位跳转function handleSearchResult(data){ const area data?.area; const poi data?.pois?.length 0 ? data.pois[0] : null; if(!area?.lonlat !poi?.lonlat){return} //这边必须要转为number类型不然跳转会失败 const [lon, lat] (area?.lonlat.split(,) || poi?.lonlat.split(,)).map(Number); const view mapViewStore.mapView; if(!view){return} //我这边是arcgis跳转的函数 view.goTo({ center:[lon, lat], zoom: 12 }) }我这边用的跳转函数goto()是 arcgis的如果你们用到的的openlayers用下面的跳转函数//openlayers跳转定位 view.animate({ center: [lon, lat], zoom: 12, duration: 1000 // 动画时长ms可选 });好了这样就实现功能闭环了通过天地API 来实现地图搜索定位如果有问题也可以在评论区给予建议修正感谢
延伸阅读

更多相关文章

2026/10/13 5:19:18

Linux C语言线程池实现:从原理到实践的高并发编程指南

1. 项目概述:为什么我们需要一个C语言线程池?在Linux环境下用C语言搞开发,尤其是涉及到网络服务、文件批量处理或者需要并发执行大量独立任务的后台程序时,你迟早会碰到一个经典难题:频繁地创建和销毁线程。我刚开始写…

2026/10/12 12:54:20

XU316 对比 XU216 全部核心优势

一、架构与算力:第三代 xcore.ai 全面超越二代 XCORE-200 峰值算力大幅提升 XU216:最高 2000 MIPS,无硬件浮点XU316:最高 3200 MIPS,内置硬件矢量 VPU 浮点单元 1600 MFLOPSXMOS优势:多路 DSP、波束成形、…

2026/10/12 11:20:18

基于TLE 6208-6 G和PIC18F46K40的直流电机控制系统设计

1. 项目背景与核心需求直流电机控制一直是工业自动化和嵌入式系统开发中的基础课题。在实际项目中,我们经常需要实现对直流电机的精确速度和方向控制,这在机器人、自动化生产线、智能家居等领域都有广泛应用。传统方案往往采用分立元件搭建H桥电路&#…

2026/10/13 13:46:48

抗体偶联空载LNP试剂盒:实现脾脏靶向递送的灵活平台

这几年做核酸药物递送的研究,有一个话题绕不开:LNP做完静脉注射之后,绝大多数都跑去了肝脏。想要让核酸疫苗、基因编辑工具或者免疫调节分子精准地到脾脏里发挥作用,靠常规LNP非常吃力。脾脏是人体最重要的免疫器官之一&#xff0…

2026/10/13 13:46:48

IDA Pro逆向实战:反汇编、交叉引用与修改跳转完成软件破解

简介:面向逆向工程初学者的IDA Pro入门实战PDF教程,配合Windows PE开发环境和160个CrackMe经典题目,讲解反汇编工具的基础使用与解密思路。内容涵盖IDA Pro安装与新建工程、IDA View/Hex View/Strings常用窗口、文件类型识别,以及…

2026/10/13 13:46:48

pandas数据拼接与合并实战:concat与merge核心技巧及避坑指南

1. 为什么值得花时间重新梳理pandas的拼接与合并做数据挖掘这行,绕不开的一件事就是“把数据拼起来”。你从业务库导出一份订单表,从日志系统拉一份用户行为表,从第三方接口拿一份商品维度表,最后要做的第一件事往往不是建模&…

2026/10/13 13:46:48

Agent技能评测:分层拆解评测系统的工程实践

给 Agent 技能打分,乍看是个标准的测评话题,但我系统性啃完 9 篇和技能评测相关的前沿论文后,最大的感触是:这件事根本不是"出题、考试、给分"的线性流程,而是一道必须分层拆解的工程题。技能评测要同时处理…

2026/10/13 13:46:48

调试Hook技术实战:从LD_PRELOAD到inline Hook的追踪指南

Hook技术,尤其是调试定位问题要用的这类Hook,我这两年复盘下来,觉得是最值得花时间掌握的工具之一。很多人一听Hook,第一反应是“神秘底层技巧”,好像只跟恶意软件相关。实际上Hook只是把程序原本要走的某条路&#xf…

2026/10/13 13:41:48

PHP+Uniapp轻量级食品安全检测系统开发实践

1. 项目概述"phpuniapp食品安全信息检测管理系统"是一个面向食品行业的质量监管解决方案,它通过小程序端实现便捷的食品安全信息采集与查询,后端采用PHP构建数据处理中心。这个36KB的精简版本特别适合中小型食品企业快速部署,在保证…

2026/10/13 5:19:27

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/12 12:01:26

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/12 12:54:07

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/13 0:04:41

基于Triton部署YOLO目标检测:从训练脚本到线上服务

简介:这份资源面向希望将目标检测模型落地到生产环境的深度学习开发者与算法工程师,聚焦于用 Triton Inference Server 部署 YOLOv9 的完整实战方案,解决从训练权重到线上推理服务之间的工程化难题。压缩包共 16 个文件,约 886KB&…

2026/10/13 0:04:41

手把手教你云端部署Qwen-Image-2.1:从GPU选型到在线文生图服务

Qwen-Image-2.1 这个开源的图像生成模型,最近在内容创作和 AI 应用圈子里热度相当高。它属于通义 Qwen 系列里的视觉生成分支,让我眼前一亮的是它对中文长文本的理解能力——以前用那些老方案生成带中文文字的图,十个里九个是“乱码印刷体”&…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑