vue3使用高德地图获取经纬度

首先 安装依赖

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

<script setup>
import { onMounted, reactive, ref } from 'vue'
import AMapLoader from '@amap/amap-jsapi-loader'const map = ref(null)
const mapData = reactive({map: {},keyword: '',selectedLocation: {},selectedAddress: '',marker: null, // 用于存储选中位置的标记
})
const lng = ref(0)
const lat = ref(0)
onMounted(() => {window._AMapSecurityConfig = {securityJsCode: '', // 密钥}AMapLoader.load({key: '', // key值version: '1.4.15',plugins: ['AMap.PlaceSearch'],}).then((AMap) => {const mapInstance = new AMap.Map('container', {viewMode: '2D',zoom: 11,center: [116.397033, 39.917606],layers: [new AMap.TileLayer.RoadNet(),new AMap.TileLayer.WMS({url: 'https://ahocevar.com/geoserver/wms',blend: false,tileSize: 512,params: {LAYERS: 'topp:states',VERSION: '1.3.0',},}),],scrollWheel: true, // 启用滚动缩放})mapInstance.on('click', (e) => {lng.value = e.lnglat.getLng()lat.value = e.lnglat.getLat()// 移除之前的标记if (mapData.marker) {mapData.marker.setMap(null)}// 创建新的标记const marker = new AMap.Marker({position: [lng.value, lat.value],icon: 'https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png', // 选中位置的图标offset: new AMap.Pixel(-15, -30), // 调整图标的偏移位置})// 将标记添加到地图marker.setMap(mapInstance)// 存储选中位置的标记mapData.marker = marker// 将地图中心设置为选中位置mapData.map.setCenter([lng.value, lat.value])})mapData.map = mapInstance}).catch((e) => {console.log(e)})
})function search() {if (mapData.keyword) {AMapLoader.load({key: '',version: '1.4.15',plugins: ['AMap.PlaceSearch'],}).then((AMap) => {const placeSearch = new AMap.PlaceSearch({city: '全国', // 请根据实际情况设置城市map: mapData.map,})placeSearch.search(mapData.keyword, (status, result) => {console.log(result) // 输出完整的搜索结果if (status === 'complete') {const pois = result.poiList.poisif (pois.length > 0) {const { location } = pois[0]// 移除之前的标记if (mapData.marker) {mapData.marker.setMap(null)}// 创建新的标记const marker = new AMap.Marker({position: location,icon: 'https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png',offset: new AMap.Pixel(-15, -30),})// 将标记添加到地图marker.setMap(mapData.map)// 存储选中位置的标记mapData.marker = marker// 将地图中心设置为选中位置mapData.map.setCenter(location)}}else {console.log('搜索失败或无结果')}})}).catch((e) => {console.log(e)})}
}function zoomIn() {mapData.map.zoomIn()
}function zoomOut() {mapData.map.zoomOut()
}
</script><template><div><input v-model="mapData.keyword" style="width: 80%; height: 30px;" @keydown.enter="search"><button @click="search">搜索</button><button @click="zoomIn">放大</button><button @click="zoomOut">缩小</button><div id="container" class="map" style="height: 400px; border-radius: 5px;" /><div>经度:{{ lng }}</div><div>经度:{{ lat }}</div></div>
</template><style scoped>.map {width: 100%;}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/174128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python object类型

# object类是所有类的父类 # type是所有类的类型&#xff0c;也就是所有类都是由type实例化而来&#xff0c;包括type类和父类object # class 继承object 同时又type类实例化。其中type就是元类print(type的父类,type.__base__) class test:pass print(class的父类是&#xff1…

NX二次开发UF_CURVE_ask_spline_data 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_ask_spline_data Defined in: uf_curve.h int UF_CURVE_ask_spline_data(tag_t spline_tag, UF_CURVE_spline_p_t spline_data ) overview 概述 Reads the spline data a…

Java核心知识点整理大全18-笔记

Java核心知识点整理大全-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全2-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全3-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全4-笔记-CSDN博客 Java核心知识点整理大全5-笔记-CSDN博客 Java核心知识点整理大全6…

抖音小店怎么做?新手应该怎么运营?实操经验分享!

我是电商珠珠 抖音小店的热度一天天在攀升&#xff0c;很多新手小白都会跑来问我&#xff0c;想做抖音小店具体要怎么做。 接下来&#xff0c;我从头到尾的跟大家讲一遍&#xff0c;注意重点。 第一&#xff0c;入驻 入驻的时候需要准备一张营业执照&#xff0c;对于新手来…

Map<Object>, List<Object>>返回满足条件的数据

Map<Object>, List<Object>>返回满足条件的数据 当一个表查询多次时&#xff0c;为了减少数据库的查询操作&#xff0c;可以使用stream流来进行条件筛选&#xff0c;获取所需要的数据。 例&#xff1a; Map<Long, List<PurchaseOrder>> orderMap…

Linux驱动开发——网络设备驱动(理论篇)

目录 一、前言 二、网络层次结构 三、网络设备驱动核心数据结构和函数 一、前言 网络设备驱动是 Linux 的第三大类驱动&#xff0c;也是我们学习的最后一类 Linux 驱动。这里我们首先简单学习一下网络协议层次结构&#xff0c;然后简单讨论 Linux 内核中网络实现的层次结构。…

接口测试工具(Jmeter)必学技巧

安装 使用JMeter的前提需要安装JDK&#xff0c;需要JDK1.7以上版本目前在用的是JMeter5.2版本&#xff0c;大家可自行下载解压使用 运行 进入解压路径如E: \apache-jmeter-5.2\bin&#xff0c;双击jmeter.bat启动运行 启动后默认为英文版本&#xff0c;可通过Options – Cho…

m3u8及其应用

m3u8与协程 HLS找m3u8AES加、解密实例 HLS 即HTTP Live Streaming&#xff0c;将流媒体切分为若干TS片段&#xff0c;通过一个M3U8列表文件将TS片段批量下载实时流式播放。 #EXTM3U:第一行tag标识。#EXT-X-VERSION:版本#EXT-X-TARGETDURATION:定义每个TS的【最大】duration&a…

【知网稳定检索】2024年应用经济学,管理科学与社会发展国际学术会议(AEMSS 2024)

2024年应用经济学&#xff0c;管理科学与社会发展国际学术会议&#xff08;AEMSS 2024&#xff09; 2024 International Conference on Applied Economics, Management Science and Social Development 2024年应用经济学&#xff0c;管理科学与社会发展国际学术会议&#xff…

C++ 协程

经典协程辅助入门代码&#xff1a; typedef cotask::task my_task_t; int main() { // create a task using factory function [with lambda expression] my_task_t::ptr_t task my_task_t::create([]() { //创建协程 std::cout ()->get_id() cotask::this_task::get…

uniapp在H5端实现PDF和视频的上传、预览、下载

上传 上传页面 <u-form-item :label"(form.ququ3 1 ? 参培 : form.ququ3 2 ? 授课 : ) 证明材料" prop"ququ6" required><u-button click"upload" slot"right" type"primary" icon"arrow-upward" t…

流媒体播放器EasyPlayer播放H.265与H.264时进度条样式异常该如何解决?

H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器&#xff0c;可支持多种流媒体协议播放&#xff0c;可支持H.264与H.265编码格式&#xff0c;性能稳定、播放流畅&#xff0c;能支持WebSocket-FLV、HTTP-FLV&#xff0c;HLS&#xff08;m3u8&#…

网易云音乐7天黑胶VIP会员免费领取入口怎么领取网易云音乐黑胶VIP7天会员?

网易云音乐7天黑胶VIP会员免费领取入口怎么领取网易云音乐黑胶VIP7天会员&#xff1f; 1、百度搜索「词令」&#xff0c;在搜索框内输入词令「vip163」关键词直达口令&#xff0c;进入网易云音乐7天黑胶VIP会员免费领取入口&#xff1b; 2、输入网易云音乐黑胶VIP7天会员领取词…

AJAX技术-04-- 跨域说明

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1 同源策略同源策略介绍规定要求 请求协议://域名:端口号 关于同源策略练习关于同源策略总结 2.JSONPJSONP原理说明关于JSONP优化 3.CORS介绍介绍不允许跨域说明跨域…

Cascader 级联选择器动态加载数据的回显

如果后端没有只返回第三级的id,而是同时把第三级的名字一起返回了&#xff0c;那么就可以通过下面的方法来实现 1.在级联选择器里面加上这句代码 placeholder"请选择" 2.注册一个字符串 pleasett:"" 3.赋值 如过后端返回的有第三级的选项名 直接进行赋…

itBuilder支持AI对话方式设计表结构啦

更新提示 在老版的AI中不能对话&#xff0c;当AI对需求理解的不准确、不全面时&#xff0c;本次带来的更新针对这个缺陷&#xff0c;提供了再次和AI交互的功能&#xff0c;可以基于之前的设计结果进行修正&#xff0c;详情请点击视频查看。 vedio

【WP】Geek Challenge 2023 web 部分wp

官方出的题很好 学到很多东西 前面几道入门提就不写了 klf_ssti 目录扫描扫到一个robots.txt 打开存在hack路径&#xff0c;查看源码存在klf 传参,结合题目 就是ssti注入了&#xff0c;然后使用tplmap工具发现是盲注&#xff0c;我们这里直接用脚本找popen&#xff1a; im…

深度学习之十一(扩散模型--Diffusion Variational Autoencoder,DVAE)

概念 扩散模型DVAE(Diffusion Variational Autoencoder)是一种结合了变分自动编码器(VAE)和扩散过程的生成模型。它结合了时间连续的扩散过程和变分自编码器的概念,用于建模和生成具有时间序列结构的数据,例如视频、时间序列等。 主要概念: 变分自编码器(VAE): VAE…

一键修复0xc000007b错误代码,科普关于0xc000007b错误的原因

最近很多用户都有遇到过0xc000007b错误的问题&#xff0c;出现这样的问题想必大家都会手足无措吧&#xff0c;其实解决这样的问题也有很简单的解决方法&#xff0c;这篇文章就来教大家如何一键修复0xc000007b&#xff0c;同时给大家科普一下关于0xc000007b错误的原因&#xff0…

禁止编辑的PPT幻灯片,如何有效保护文件安全?

【幻灯片解密、去除密码、找回密码指南】 具体步骤如下&#xff1a;第一步百度搜索【密码帝官网】&#xff0c;第二步在用户中心上传需要解密的文件即可。 你是否有遇到过打开一个PPT文件却发现它被去除了密码无法编辑的情况&#xff1f;别担心&#xff0c;将为您提供最简单的解…