在vue项目中使用百度地图,点击或搜索打点组件封装

一、在index.html文件中引入百度地图

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue 2 BMap Demo</title><script src="https://api.map.baidu.com/api?v=3.0&amp;ak=你的_KEY"></script>
</head>
<body><div id="app"></div><script src="/dist/build.js"></script>
</body>
</html>

二、创建map.vue地图组件

<template><div class="bmap-search-marker"><input type="text" v-model="keyword" placeholder="请输入关键字"><button @click="search">搜索</button><div ref="mapContainer" class="map-container"></div><div v-if="marker"><p>经度:{{ marker.lng }}</p><p>纬度:{{ marker.lat }}</p><p>地址:{{ marker.address }}</p></div></div>
</template><script>
export default {data() {return {keyword: '',map: null,marker: null};},mounted() {// 加载地图this.loadMap();// 监听地图点击事件this.map.addEventListener("click", (e) => {this.handleMapClick(e.point);});},methods: {loadMap() {this.map = new BMap.Map(this.$refs.mapContainer);this.map.centerAndZoom(new BMap.Point(116.404, 39.915), 13);const navigationControl = new BMap.NavigationControl();this.map.addControl(navigationControl);},search() {if (!this.keyword) return;// 创建LocalSearch实例const localSearch = new BMap.LocalSearch(this.map, {onSearchComplete: (results) => {if (localSearch.getStatus() === BMAP_STATUS_SUCCESS) {const poi = results.getPoi(0);// 清除之前的标记if (this.marker) {this.map.removeOverlay(this.marker);}// 创建新的标记const marker = new BMap.Marker(poi.point);this.map.addOverlay(marker);this.marker = {lng: poi.point.lng,lat: poi.point.lat,address: poi.address};}}});// 发起关键字搜索请求localSearch.search(this.keyword.trim());},handleMapClick(point) {// 清除之前的标记if (this.marker) {this.map.removeOverlay(this.marker);}// 创建新的标记const marker = new BMap.Marker(point);this.map.addOverlay(marker);this.marker = {lng: point.lng,lat: point.lat,address: ''};// 根据经纬度获取地址const geoc = new BMap.Geocoder();geoc.getLocation(point, (result) => {if (geoc.getStatus() === BMAP_STATUS_SUCCESS) {this.marker.address = result.address;}});}}
};
</script><style scoped>
.map-container {width: 100%;height: 400px;
}
</style>```## 三、vue文件中使用```javascript
<template><div><map/></div>
</template><script>
import map from './map.vue';export default {components: {map}
};
</script>

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

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

相关文章

React入门 - 06(TodoList 列表数据的新增和删除)

本章内容 目录 一、实践一下 React 的列表渲染二、TodoList 新增功能三、列表循环的 key四、删除 上一节内容我们完成了输入框中可以自由输入内容&#xff0c;这一节我们继续 TodoList功能的完善&#xff1a;列表数据的新增和删除。 在开始之前&#xff0c;我们先介绍一下 Re…

前端对接电子秤、扫码枪设备serialPort 串口使用教程

因为最近工作项目中用到了电子秤&#xff0c;需要对接电子秤设备。以前也没有对接过这种设备&#xff0c;当时也是一脸懵逼&#xff0c;脑袋空空。后来就去网上搜了一下前端怎么对接&#xff0c;然后就发现了SerialPort串口。 Serialport 官网地址&#xff1a;https://serialpo…

c++八股1

对多态的认识&#xff1a; 在C中&#xff0c;多态性是面向对象程序设计的一个核心特性&#xff0c;它体现了“一个接口&#xff0c;多种实现”的思想。多态有两种形式&#xff1a; 静态多态&#xff08;编译时多态&#xff09;&#xff1a;通过函数重载和运算符重载实现&#x…

Linux 内核学习 3 - 虚拟内存和物理内存

虚拟内存其实是 CPU 和操作系统使用的一个障眼法&#xff0c;联手给进程编织了一个假象&#xff0c;让进程误以为自己独占了全部的内存空间&#xff1a; 在 32 位系统中&#xff0c;进程以为自己独占了 3G 的内存空间。 在 64 位系统中&#xff0c;进程以为自己独占了 128T 的…

NodeJs 第十二章 nodemon

nodemon 是一个监视器&#xff0c;用于监控工程中的文件变化&#xff0c;如果发现文件有变化&#xff0c;可以执行一段脚本。 本章节只介绍基础用法&#xff0c;深入学习请参考 官方文档 安装 全局安装 npm install -g nodemon本地安装 npm install --save-dev nodemon用法 …

杨中科 EFCORE 第四部分 命令详解56-61

Migrations 深入研究Migrations 1、使用迁移脚本&#xff0c;可以对当前连接的数据库执行编号更高的迁移&#xff0c;这个操作叫做“向上迁移” (Up)&#xff0c;也可以执行把数据库回退到旧的迁移&#xff0c;这个操作叫“向下迁移(Down&#xff09; 2、除非有特殊需要&…

机器人行业概况(2)

上篇已经介绍过关于机器人的定义以及分类&#xff0c;下面来看看机器人产业市场规模。 二、国内机器人产业市场规模 中国机器人产业在国家智能制造相关政策的引导下蓬勃发展。在新冠肺炎疫情防控期间&#xff0c;消毒、配送、测温、巡检等各类机器人的“火线上岗”&#xff0…

javascript:javascript去除字符串空格(空白符)

使用js去除字符串内所带有空格&#xff0c;有以下三种方法&#xff1a; 1 replace正则匹配方法 去除字符串内所有的空格 str str.replace(/\s*/g,""); 去除字符串内两头的空格 str str.replace(/^\s*|\s*$/g,""); 去除字符串内左侧的空格 str st…

spring-boot2.7.8添加swagger

一、新建项目swaggerdemo 二、修改pom.xml 注意修改&#xff1a;spring-boot-starter-parent版本为&#xff1a;2.7.8 添加依赖&#xff1a; springfox-swagger2 springfox-swagger-ui springfox-boot-starter <?xml version"1.0" encoding"UTF-8"…

C++日志库——spdlog

介绍 https://github.com/gabime/spdlog.git spdlog is a header only library. Just copy the files under include to your build tree and use a C11 compiler. spdlog是一个仅有头文件的库&#xff0c;只需要拷贝include下面的文件加到本地工程目录并使用支持C11的编译器编…

【打卡】牛客网:BM86 大数加法

题目分析&#xff1a; 因为是大数&#xff0c;所以不能&#xff1a;将string转为int&#xff0c;进行相加后&#xff0c;再int转为string。 而是直接模拟加法过程。 我写的&#xff1a; 一些细节&#xff1a; 需要反转。因为字符串从左到右遍历&#xff0c;加法从右往左遍…

QT第3天

如上图界面&#xff0c;需求如下&#xff1a; 1、根据名字添加水果&#xff0c;并设置好单价 2、切换文件查看模式 3、点击任意水果可以显示单价 4、重量改变时&#xff0c;总价自动显示 //widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <Q…

RH850P1X芯片学习笔记-Flash Memory

文章目录 FeaturesClock Supply Block DiagramFlash SizeMemory ConfigurationRegistersRegister Base AddressList of RegistersRegister Reset Condition 与Flash Memory相关的操作模式Functional OverviewOption BytesOPBT0 — Option Byte 0OPBT1 — Option Byte 1OPBT2 —…

【CSS】保持元素宽高比

保持元素的宽高比&#xff0c;在视频或图片展示类页面是一个重要功能。 本文介绍其常规的实现方法。 实现效果 当浏览器视口发生变化时&#xff0c;元素的尺寸随之变化&#xff0c;且宽高比不变。 代码实现 我们用最简单的元素结构来演示&#xff0c;实现宽高比为4&#xf…

鸿蒙Harmony是如何影响Android工程师的呢?

其实鸿蒙在2019就已经出来了&#xff0c;那时候还是套壳Android的。从2023年9月的发布会上&#xff0c;华为宣布鸿蒙原生应用全面启动、HarmonyOS NEXT亮相以后&#xff0c;围绕着纯血鸿蒙展开的鸿蒙应用生态发展迅猛&#xff0c;目前已经有包括社交、金融、影音、游戏、资讯、…

【Java万花筒】时钟精灵:Java日期库全景剖析

时间漫步者&#xff1a;深入Java时间库实战 前言 在现代软件开发中&#xff0c;处理日期与时间是一个常见而又具有挑战性的任务。Java为我们提供了强大的日期与时间处理库&#xff0c;这些库不仅使日期与时间的操作更加方便&#xff0c;而且满足了各种复杂的需求。本文将深入…

docker-compose和docker compose的区别

在docker实际使用中&#xff0c;经常会搭配Compose&#xff0c;用来定义和运行多个 Docker 容器。使用时会发现&#xff0c;有时候的指令是docker-compose&#xff0c;有时候是docker compose&#xff0c;下面给出解释。 docker官方文档&#xff1a;https://docs.docker.com/c…

ArrayBlockingQueue的使用

异步日志打印模型概述 在高并发、高流量并且响应时间要求比较小的系统中同步打印日志已经满足不了需求了&#xff0c;这是因为打印日志本身是需要写磁盘的&#xff0c;写磁盘的操作会暂时阻塞调用打印日志的业务线程&#xff0c;这会造成调用线程的rt增加。 如图所示为同步日…

WorkPlus领先企业即时通信软件,提升团队沟通效率的利器

在企业工作中&#xff0c;高效沟通是推动团队协作和工作效率的关键。而企业即时通信软件成为了实现高效沟通的利器。作为一款领先的企业即时通信软件&#xff0c;WorkPlus以其卓越的性能和独特的功能&#xff0c;提升团队沟通效率&#xff0c;助力企业实现高效协作。 为什么选择…

豆包ai介绍

豆包是字节跳动基于云雀模型开发的AI工具&#xff0c;具有强大的语言处理能力和广泛的应用场景&#xff0c;无论是在学习、工作、生活中&#xff0c;都能派上用场。 豆包可以帮助打工人和创作者提升效率&#xff0c;完成各种工作任务&#xff0c;又能扮演各类AI角色进行高情商…