vue-baidu-map的基本使用

news2024/11/15 21:42:03

前言

公司项目需求引入百度地图,由于给的时间比较短,所以就用了已经封装好了的vue-baidu-map

一、vue-baidu-map是什么?

vue-baidu-map是基于vue.js封装的百度地图组件(官方文档)

二、使用步骤

1.下载插件

//我下载的版本
npm install vue-baidu-map@0.21.22

2. 引入

main.js

import BaiduMap from 'vue-baidu-map'

Vue.use(BaiduMap, {
    // ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */
  ak: 'YOUR_APP_KEY'
})

3.使用 

1.地图初始化

//center为初始定位  zoom是缩放  scroll-wheel-zoom是滚动  ready是初始化事件
//mapType是地图类型
<baidu-map :center="location" :zoom="zoom" :scroll-wheel-zoom="wheel" @ready="handler" style="width: 100%; height: 100%"  :mapClick="false" :mapType="mapType" id="map" @mouseout="mouseout" @mouseover="mouseover">
</baidu-map>


export default {

 data() {
        return {
           location: { lng: 0, lat: 0 },
            zoom: 11,
          wheel: true,
           mapType: "",
           BMap: null,
            map: null,
        }
},
methods: {
       handler({ BMap, map }) {
            this.BMap = BMap;
            this.map = map;
        },
  mouseover(e) {
            this.wheel = true
        },
        mouseout(e) {
            this.wheel = false
        },

}

}

(注意:以下组件相关代码都需要放进<baidu-map></baidu-map>) 

2.地图图标

<bm-marker v-for="(marker, index) in points" :position="{ lng: marker.lng, lat: marker.lat }" :key="index":massClear="false" :dragging="false" :zIndex="9999" @click="marketClick">
<!--bm-label是图标的标记-->
 <bm-label :content="marker.content" :position="{ lng: marker.lng, lat: marker.lat }" :labelStyle="{ background: 'rgba(0,0,0,.5)', color: '#fff', width: 'auto', border: 'none', fontSize: '16px' }" :offset="{ width: -20, height: 20 }">
 </bm-label>
<!--bm-info-window是点击图标显示弹窗-->
<bm-info-window :show="marker.isShow" :position="{ lng: marker.lng, lat: marker.lat }" :width="400" :height="280" :offset="{ width: -10, height: -30 }" @close="handleClose">   
</bm-info-window>
 </bm-marker>

export default {

 data() {
        return {
           points: [],
        }
},
methods: {
       marketClick(e) {
     //获取具体地址
        var geoc = new BMap.Geocoder();
        const that = this
       geoc.getLocation(e.target.point, function (rs) {
})
     }
}




3.地图搜索 

   <bm-control class="control">
   <bm-auto-complete :sugStyle="{ zIndex: 999999 }" v-model="keyword" >
      <el-input v-model="keyword" placeholder="搜地点,查范围" class="bmInput">
        <el-button slot="suffix" @click="confirmAddress">搜索</el-button>
      </el-input>
    </bm-auto-complete>
    </bm-control>
 <bm-local-search :keyword="keyword" :auto-viewport="true" @markersset="markersset" :panel="false"></bm-local-search>
export default {

 data() {
        return {
           keyword: null,
        }
},
methods: {
        confirmAddress() {
            this.map.centerAndZoom(new BMap.Point(this.localPoint.lng, 
             this.localPoint.lat), 19);
        },
   markersset(res) {
            if (res.length != 0) {
                this.localPoint = {
                    lng: res[0].point.lng,
                    lat: res[0].point.lat
                }
                this.lng = 0
                this.lat = 0
            }
            this.map.clearOverlays()


        }
     }
}

4.地图面板覆盖物 

 <bm-control class="control1" anchor="BMAP_ANCHOR_TOP_RIGHT">
                <div class="panel">
                    <div class="panelContent">
                        <el-row>
                            <el-col :span="4" class="item">
                                <span>路网:</span>
                                <el-checkbox v-model="net" @change="netChange" :disabled="disabled"></el-checkbox>
                            </el-col>
                            <el-col :span="4" class="item">
                                <span>卫星:</span>
                                <el-switch v-model="circle" @change="circleChange">
                                </el-switch>
                            </el-col>
                        </el-row>
                    </div>
                </div>
            </bm-control>

 data() {
        return {
         net:false,
         circle:false,
         disabled:true
        }
},
methods: {
//卫星
     circleChange(val) {
            if (val == true) {
                this.mapType = "BMAP_HYBRID_MAP"
                this.disabled = false
                this.net = true
            } else {
                this.mapType = "BMAP_NORMAL_MAP"
                this.disabled = true
                this.net = false
            }
        },
//路网
        netChange(val) {
            if (val == true) {
                this.mapType = "BMAP_HYBRID_MAP"
            } else {
                this.mapType = "BMAP_SATELLITE_MAP"
            }
        },
}


总结

以上内容仅仅介绍了vue-baidu-map在我们公司项目中的一些应用,有其他需求可以去官网看看。

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

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

相关文章

注册讲堂 | 医疗器械组合包类产品常见问题(2)

问题一&#xff1a;组合包类产品的有效期应该如何确定&#xff1f; 组合包类产品的有效期以组件中最短有效期为最终产品有效期。 对于外购件&#xff0c;需要考虑组件购买时的剩余效期及影响效期主要因素&#xff0c;如材料老化、灭菌有效期等。 问题二&#xff1a;组合包类产…

【计算机网络强化】计网强化笔记

第一章 计算机网络体系结构 1.1 计算机网络概述 1.计算机网络由若干个节点和连接这些节点的链路组成 2. 3.计算机网络的组成 ①硬件、软件、协议 ②边缘部分和核心部分 ③通信子网和资源子网 4.电路交换、报文交换和分组交换 ①电路交换 分为三步&#xff1a;建立连接、…

基于SpringBoot+Vue的在线问诊管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目…

SQL面试常见题目

SQL面试常见题目涉及多个方面&#xff0c;包括数据查询、数据操作、表的设计与优化等。以下列举一些经典的SQL面试题目&#xff0c;并附上解析答案&#xff1a; 1. 查询一张表中重复的数据 题目&#xff1a; 给定一个表 employees&#xff0c;包含 id, name, salary 列。如何…

大型语言模型(Large Language Models)的介绍

背景 大型语言模型&#xff08;Large Language Models&#xff0c;简称LLMs&#xff09;是一类先进的人工智能模型&#xff0c;它们通过深度学习技术&#xff0c;特别是神经网络&#xff0c;来理解和生成自然语言。这些模型在自然语言处理&#xff08;NLP&#xff09;领域中扮…

丢失照片/消息/文件,当发现没有备份 Android 手机数据时急救方法

当人们发现他们没有备份 Android 手机数据时&#xff0c;通常为时已晚。但是&#xff0c;我们都不想永久丢失珍贵的照片&#xff0c; 消息和其他文件。这就是为什么您应该检查 遵循 5 大免费 Android 数据恢复工具和最佳替代品 他们。 排名前五的免费 Android 数据恢复软件 1.奇…

ELK-01-elasticsearch-8.15.1安装

文章目录 前言一、下载elasticsearch二、将tar包放到服务器三、解压tar包四、更改配置文件五、添加启动用户六、用elasticserch用户启动6.1 报错6.2 解决问题16.3 解决问题26.4 再次用elasticserch用户启动6.5 windows浏览器打开 七、设置开机自动启动7.1 创建启动脚本7.2 在脚…

【C++】二、数据类型 (同C)

2.1 整形 无特殊情况&#xff0c;一般用int 2.2实型&#xff08;浮点型&#xff09; 1. 单精度 foat 2. 双精度 double 输入小数时默认double&#xff0c;定义变量时可以使用float转换为单精度 3. 可使用科学计数法表示小数&#xff08;看得懂即可&#xff09; 4. 用于浮点型用…

Excel--DATEDIF函数的用法及参数含义

DATEDIF函数的用法为: DATEDIF(start_date,end_date,unit),start_date表示的是起始时间&#xff0c;end_date表示的是结束时间。unit表示的是返回的时间代码&#xff0c;是天、月、年等。如下: Datedif函数的参数含义unit参数返回值的意义"y"两个时间段之间的整年数…

推荐使用10款源代码加密软件,保护核心源代码,减少泄密风险

在现代企业中&#xff0c;保护核心源代码的安全变得尤为重要。源代码不仅是产品的核心资产&#xff0c;也是黑客和竞争对手的目标。一旦代码泄露&#xff0c;不仅可能导致产品安全漏洞&#xff0c;还会使企业的知识产权面临威胁。为了解决这一问题&#xff0c;源代码加密软件能…

Java反序列化利用链篇 | CC1链的第二种方式-LazyMap版调用链【本系列文章的分析重点】

文章目录 CC1链的第二种方式-LazyMap版调用链LazyMap构造payloadCC1的调用链 系列篇其他文章&#xff0c;推荐顺序观看~ Java反序列化利用链篇 | JdbcRowSetImpl利用链分析Java反序列化利用链篇 | CC1链_全网最菜的分析思路【本系列文章的分析重点】Java反序列化利用链篇 | CC1…

人工智能之计算机视觉的发展历程与相关技术内容,相应的模型介绍

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能之计算机视觉的发展历程与相关技术内容&#xff0c;相应的模型介绍。本文围绕计算机视觉这一领域&#xff0c;以问答的形式呈现了关键问题及详细解答。内容涵盖计算机视觉的基本概念、技术原理、应用场景等…

全方位洗衣洗鞋小程序系统,重塑干洗店服务新体验;

全方位洗衣洗鞋小程序系统&#xff0c;重塑干洗店服务新体验; 一、核心功能革新&#xff1a; 1.多元化下单模式&#xff1a;融合上门取送、到店服务、寄存网点及智能衣柜四种便捷方式&#xff0c;用户轻松一键下单&#xff0c;享受个性化服务。 2.从下单到送回&#xff0c;全程…

Kotlin高阶函数func

Kotlin高阶函数func fun sum(a: Int, b: Int, someFunc: () -> Unit) {println("${a b}")someFunc() }fun myFunc() {println("计算成功") }fun main() {sum(1, 2, ::myFunc) } 输出&#xff1a; 3 计算成功 Kotlin函数作为参数指向不同逻辑_ketlin 将…

ubuntu中通过源码安装pointnet2_ops_lib

注&#xff1a;本帖所用环境为&#xff1a;ubuntu 24.04、 cuda 12.04 文章目录 1. 克隆 PointNet 源码库2. 安装依赖3. 编译 pointnet2_ops_lib4. 测试安装 1. 克隆 PointNet 源码库 首先&#xff0c;克隆 PointNet 的 GitHub 仓库&#xff1a; git clone https://github.co…

ML 系列:机器学习和深度学习的深层次总结(08)—欠拟合、过拟合,正确拟合

ML 系列赛&#xff1a;第 9 天 — Under、Over 和 Good Fit 文章目录 一、说明二、了解欠拟合、过拟合和实现正确的平衡三、关于泛化四、欠拟合五、过拟合六、适度拟合七、结论 一、说明 在有监督学习过程中&#xff0c;对于指定数据集进行训练&#xff0c;训练结果存在欠拟合…

基于Es和智普AI实现的语义检索

1、什么是语义检索 语义检索是一种利用自然语言处理&#xff08;NLP&#xff09;和人工智能&#xff08;AI&#xff09;技术来理解搜索查询的语义&#xff0c;以提供更准确和相关搜索结果的搜索技术&#xff0c;语义检索是一项突破性的技术&#xff0c;旨在通过深入理解单词和…

QT菜单栏设计(二级菜单栏)

目的&#xff1a;创建一级菜单栏&#xff0c;添加对应选项&#xff0c;并向一级菜单栏中添加二级菜单栏选项。 #include "mainwindow.h" #include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindo…

【天怡AI-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…

Netty笔记07-粘包与半包(上)

文章目录 前言1. 粘包造成粘包的原因解决粘包的方法 2. 半包造成半包的原因解决半包的方法 粘包现象服务端代码示例客户端代码示例 半包现象现象分析粘包半包滑动窗口MSS 限制Nagle 算法 前言 粘包和半包问题是网络编程中常见的问题&#xff0c;特别是在TCP协议中。通过合理的设…