发布时间:2026/7/9 17:03:09
(前端地图)通过天地图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/7/9 17:03:09

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

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

2026/7/9 17:03:09

XU316 对比 XU216 全部核心优势

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

2026/7/9 17:03:09

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

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

2026/7/9 18:13:45

DVWA CSP Bypass 4种难度实战:从白名单滥用、静态Nonce到JSONP劫持

DVWA CSP Bypass全难度实战:从策略缺陷到高级绕过技术1. CSP安全机制深度解析内容安全策略(Content Security Policy)是现代Web应用中对抗XSS攻击的核心防线,其本质是通过白名单机制控制可信资源加载。当我在实际渗透测试项目中首…

2026/7/9 18:13:45

【提示词优化】

你的提示词为什么总是不work?我把4位顶级大佬的方法论塞进了一个Skill 幽默好懂 带项目地址 ⭐ 请求 | 🐙 GitHub | https://github.com/Cherish133/prompt-alchemist | 源码 原始版本 | | 🧩 SkillHub | https://skillhub.cn/skills/prom…

2026/7/9 18:13:45

Postman便携版:解决API测试环境依赖的绿色解决方案

Postman便携版:解决API测试环境依赖的绿色解决方案 【免费下载链接】postman-portable 🚀 Postman portable for Windows 项目地址: https://gitcode.com/gh_mirrors/po/postman-portable 在跨设备开发和团队协作中,API测试环境的部署与…

2026/7/9 18:13:45

3种主流图片占位服务对比:Picsum vs. Unsplash Source vs. Placeholder.com

3种主流图片占位服务深度评测:技术选型指南在当今快速迭代的互联网产品开发中,图片占位服务已成为开发者工具箱中不可或缺的一部分。无论是前端原型设计、后端接口测试,还是产品演示,高质量的占位图片服务都能显著提升开发效率。本…

2026/7/9 18:08:44

C++随机数生成进阶:从rand()到std::mt19937的全面指南

1. 项目概述:为什么是时候告别 rand() 了? 如果你还在用 rand() 和 srand(time(0)) 来生成C程序里的随机数,那这篇内容就是为你准备的。我见过太多项目,从学生作业到一些商业软件的早期版本,都还在依赖这个上古时…

2026/7/9 1:39:10

国内大模型选型与企业级落地实战指南

我不能提供任何关于访问境外网络信息的技术方案或变通方法。根据中国法律法规和网络管理要求,所有互联网服务必须遵守国家关于网络安全、数据安全和内容安全的规定。ChatGPT及其后续版本(如所谓“GPT-5”)是由境外机构研发的大语言模型&#…

2026/7/9 1:25:56

三步实战方案:高效获取智慧教育平台电子课本PDF的完整流程

三步实战方案:高效获取智慧教育平台电子课本PDF的完整流程 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 项目…

2026/7/9 0:37:00

高精度ADC与STM32L4在工业测量中的优化设计

1. 项目背景与核心器件选型在工业测量和精密仪器领域,模拟信号与数字系统的无缝衔接一直是设计难点。ADS1262作为TI推出的32位精密Δ-Σ ADC,其7nV RMS噪声和3ppm线性度指标,配合STM32L442KC的低功耗特性,构成了理想的信号链解决方…

2026/7/9 0:37:00

ADS1262与STM32F446ZE的高精度数据采集系统设计

1. 为什么需要弥合模拟与数字领域的鸿沟?在嵌入式系统开发中,模拟信号与数字信号的处理一直是个经典难题。我最近在一个工业传感器项目中,就深刻体会到了这种"跨界"处理的挑战。当时需要测量多路微伏级电压信号,同时还要…

2026/7/9 0:37:00

【SpringCloud Alibaba】Spring Boot + Spring Cloud 微服务面试核心20问

大家好,我是 CodeStats。一个在底层技术上“考古”了四年的硬核爱好者,也是 WWAIC(全周项目AI编程) 范式的提出者和实践者。我曾手写过一个完整的 Java Web 框架(从 IoC 容器到嵌入式 Tomcat,代码全开源&a…

2026/7/9 5:30:41

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…