vue 引用百度地图

address.vue

<template><div><!-- 地图 --><el-drawer:visible.sync="type1"direction="rtl"size="50%"append-to-bodyclass="map-drawer":before-close="beforeClose"><div style="width: 100%;height: 100%;"><div slot="title" class="title_info_weight">选择地点</div><el-inputplaceholder="请输入关键字"suffix-icon="el-icon-search"v-model="keyword"style="z-index: 10;top: 10px;position: absolute;left: 16px;width: 350px;"></el-input><baidu-mapclass="bm-view":center="mapData.center":zoom="mapData.zoom"@ready="mapHandler"@click="getLocation":scroll-wheel-zoom="true"><bm-local-search:keyword="keyword":auto-viewport="true":location="location":panel="false"style="display: none"@searchcomplete="onSearchComplete"@infohtmlset="onInfohtmlset"@markersset="onMarkersset"></bm-local-search><!-- 点击加点 --><!-- <bm-marker :position="{ lng: longitude, lat: latitude }"></bm-marker> --><!-- 弹框 --><bm-info-window:position="{ lng: longitude, lat: latitude }":show="infoWindowShow"title="请选择详细位置"@clickclose="infoWindowClose"><divv-for="(item, index) in surroundingPois":key="index":class="{ activeColor: colorIndex === index }"@click="pointcheck(item, index)"><p style="line-height: 1.2; font-size: 14px">{{ item.title }}</p></div><divv-if="surroundingPois.length == 0"style="line-height: 1.2; font-size: 14px">{{ address.addressStr }}</div></bm-info-window></baidu-map></div><div class="avue-dialog__footer"><el-button @click="type1 = false">取 消</el-button><el-button @click="onSure" type="primary">确 定</el-button></div></el-drawer></div>
</template><script>
import '@riophae/vue-treeselect/dist/vue-treeselect.css'// 下拉框全局组件样式export default {data() {return {//地图mamParams: {Zoom: 12},mapFrom: [98.490276, 25.020283],//地图数据colorIndex: -1,mapData: {center: { lng: 0, lat: 0 },zoom: 13,},BMap: null, //BMap类map: null, //地图对象mk: "", //Marker实例address: {lng: 0, //经度lat: 0, //纬度addressStr: "",title: "",province: "", // 省city: "", // 市district: "", // 区},location: "腾冲", //检索城市type1: false,latitude: "",longitude: "",surroundingPois: [], //选中位置周围数据infoWindowShow: false,//控制地图信息窗口显示keyword:"",}},methods:{//返回goBack() {this.$router.$avueRouter.closeTag();window.history.back();},// 点击选择地址onChangeCity() {this.$refs.cityRef.blur()this.type1 = true},//标注气泡内容创建后的回调函数获取气泡内的信息onInfohtmlset(res) {console.log('res', res)this.longitude = res.point.lng;this.latitude = res.point.lat;this.infoWindowShow = false;// this.address.region = res.province + res.city;this.eventManList.gisx = res.point.lng;this.eventManList.gisy = res.point.lat;this.address.addressStr = res.address;},onMarkersset(res) {//标注添加完成后的回调函数this.infoWindowShow = false;},//直接选点,展示附近点位getLocation(e) {this.colorIndex = -1;if (e.overlay) {this.infoWindowShow = false;} else {this.infoWindowShow = true;}this.longitude = e.point.lng;this.latitude = e.point.lat;const myGeo = new BMap.Geocoder(); // 创建地址解析器的实例myGeo.getLocation(e.point, (rs) => {this.surroundingPois = rs.surroundingPois;let adr = rs.addressComponents;// this.address.region = adr.province + adr.city + adr.district+adr.street+adr.streetNumber; // 省市区街道门牌号if (rs.surroundingPois.length == 0) {this.address.addressStr = rs.address;}});},//选择点位pointcheck(e, index) {this.colorIndex = index;this.address.addressStr = e.address;},//信息窗口关闭infoWindowClose() {this.latitude = "";this.longitude = "";this.infoWindowShow = false;},//地图确定按钮onSure() {this.infoWindowShow = falselet data = [this.longitude, this.latitude, this.address.addressStr]this.type1 = false;this.$emit('onSure', data)},//地图初始化mapHandler({ BMap, map }) {this.map = map;this.BMap = BMap;this.mapData.center.lng = 98.497291;this.mapData.center.lat = 25.01757;this.mapData.zoom = 18;},onSearchComplete(res) {// 地图搜索回调this.infoWindowShow = false;},beforeClose(done) {this.keyword = "";this.infoWindowShow = false;// this.map.removeOverlay()done();},},created() {},mounted() {}
}
</script><style scoped></style>
<style lang="css" scoped>
::v-deep .el-button--small, .el-button--small.is-round  {display: none;
}::v-deep .el-form-item__content {line-height: 40px;position: relative;font-size: 14px;margin-left: 128px;
}
.avue-form{width: auto !important;margin: 0 !important;
}
.avue-form
::v-deep .el-form-item__content {line-height: 40px;position: relative;font-size: 14px;margin-left: 0px !important;
}
.avue-form
::v-deep .el-col {margin-bottom: 0 !important;
}
.bm-view {width: 100%;height: 90%;
}
.activeColor {color: #0060ff !important;
}
</style>

main.js

 

封装成了一个组件

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

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

相关文章

软件杯 深度学习 opencv python 实现中国交通标志识别_1

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 &#x1f525; 优质…

[iOS]高版本MacOS运行低版本Xcode

Xcode 版本支持文档 目的&#xff1a; 在MacOS Sonoma 系统上安装 Xcode14.3.1 第一步 先在Xcode下载一个Xcode14.3.1的压缩包 第二步 本地解压Xcode&#xff0c;将外层目录名变更为Xcode_14.3.1&#xff0c;将文件拷贝到 /Applications目录下。 第三步 变更xcode-sel…

计算点集的最小外接矩形——OpenCV的minAreaRect函数

计算点集的最小外接矩形——OpenCV的minAreaRect函数 函数原型 输入一系列二维点&#xff0c;返回其最小外接矩形。 RotatedRect minAreaRect( InputArray points );根据函数原型&#xff0c;输入的数据可以是vector<Point>类型&#xff0c;包含1个以上的点&#xff1…

Windows Server 各版本搭建终端服务器实现远程访问(03~19)

一、Windows Server 2003 左下角开始➡管理工具➡管理您的服务器&#xff0c;点击添加或删除角色 点击下一步 勾选自定义&#xff0c;点击下一步 点击终端服务器&#xff0c;点击下一步 点击确定 重新登录后点击确定 点击开始➡管理工具➡计算机管理&#xff0c;展开本地用户…

中科数安|公司办公终端、电脑文件数据 \ 资料防泄密系统

#中科数安# 中科数安是一家专注于信息安全技术与产品研发的高新技术企业&#xff0c;其提供的公司办公终端、电脑文件数据及资料防泄密系统&#xff08;也称为终端数据防泄漏系统或简称DLP系统&#xff09;主要服务于企业对内部敏感信息的安全管理需求。 www.weaem.com 该系统…

Vue3--数据和方法

data 组件的 data 选项是一个函数。Vue 在创建新组件实例的过程中会自动调用此函数。   data选项通常返回一个对象&#xff0c;然后 Vue 会通过响应性系统将其包裹起来&#xff0c;并以 $data 的形式存储在组件实例中。 <!DOCTYPE html> <html lang"en"&g…

【C++】stack、queue模拟实现+仿函数

stack、queue模拟实现仿函数 stack定义stack模拟实现 queue定义queue模拟实现 priority_queue定义priority_queue模拟实现 deque定义底层分析 容器适配器定义种类 仿函数控制类里面数据的比较逻辑回调函数仿函数两者区别 铁汁们&#xff0c;今天给大家分享一篇stack、queue模拟…

Android的三种动画详解(帧动画,View动画,属性动画)

Android的三种动画详解&#xff08;帧动画、View动画、属性动画&#xff09;_android动画效果大全-CSDN博客 1、帧动画 缺点是&#xff1a;占用内存较高&#xff0c;播放的是一帧一帧的图片&#xff0c;很少使用。 顺序播放预先定义的图片&#xff0c;类似于播放视频。 步骤…

WPS 相较于其他办公软件有哪些优势?

WPS Office 是一款流行的办公软件套件&#xff0c;与其他办公软件相比&#xff0c;它具有以下优势&#xff1a; 1. **兼容性强**&#xff1a;WPS Office 可以很好地与 Microsoft Office 兼容&#xff0c;能够打开、编辑和保存 Microsoft Office 格式的文档&#xff0c;如 Word…

生成器模式(软考uml C++版)

按照软考中级软件设计师中指定的生成器模式uml图&#xff0c;可编写对应的C&#xff0b;&#xff0b;代码&#xff1a; #include<iostream> #include<vector> #include<string> using namespace std;/*创建者模式&#xff0c;又名生成器模式意图&#xff1a…

中宣部防沉迷系统PHP版本(管局防沉迷验证-PHP-全版本-接口测试样例)

现在对接游戏&#xff0c;无论是登录还是支付都是要去对接防沉迷实名认证接口&#xff0c;但前期的话你要登录网络游戏防沉迷实名认证系统进行接口测试&#xff0c;$appid &#xff0c;$bizId&#xff0c;$key去接口测试页面找&#xff08;正式上线在密钥管理&#xff09;&…

mac输入su命令报错如何重置密码

diannao1xiejiandeMacBook-Air ~ % su Password: su: Sorry输入 sudo passwd 命令重置密码即可。