Vue Baidu Map 插件的使用

2024-05-09 11:32

本文主要是介绍Vue Baidu Map 插件的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近在做一个项目,技术采用的是Vue.js套餐,有个百度地图的需求,当时,大脑宕机,立马去引入百度地图API,当时想到两种方法,一种是在index.html中全局引入js,此法吾不喜,就采用了第二种异步加载jsonp的方式,细节无关本文,暂且不提。噼里啪啦~噼里啪啦~ 代码一气呵成,本地测试完,立马上服务器测试,what ??? 什么鬼 ? 进入界面后,我的地图呢??地图呢??回看代码,代码中有一行window.onload = loadScript,呃~呃~呃~,vue中界面跳转不会触发这个, 欧德科 ??? 坑爹啊~ 有木有??然后立马百度进行搜索,此时眼前一亮,嘻嘻嘻~,我看到了什么??vue-baidu-map,然后爱酱去官网看文档,看完第一反应莫名其妙~~,为了那些跟我一样不认真看文档,粗心大意,脑袋容易宕机的码农们 ,特记录下这个插件的使用方法。

  vue-baidu-map 官方地址

  

  安装:

   这里只介绍npm安装方式

$ npm install vue-baidu-map --save

 

  注册:

   注册的方式有两种 : 全局注册 & 局部注册 ,各位可以根据自己的需求来选择,我个人采用的是局部注册,按需加载。个人注册了一个公共的MapView.vue组件来实现地图的功能,存放在项目组件库components/common下。

   官方文档描述1:局部注册的 BaiduMap 组件必须声明 ak 属性。

     注: 这个ak指的是你的百度地图开放平台获取到的秘钥

   官方文档描述2:所有的独立组件均存放在 vue-baidu-map/components 文件夹下,按需引用即可。

     刚开始,我就是被这句话给迷惑了,由于没认真看文档,又看到代码,傻傻的去组件库components中新建了一个vue-baidu-map文件夹,然后去注册了一个Map.vue的组件。

     No~No~No~ 不是这样的。注意:这里指的是vue-baid-map文件夹下的components组件库,而不是我们项目中自己创建的components组件库,不要跟我一样犯傻。

 

  在安装完vue-baidu-map后,在node_modules中会有一个vue-baidu-map文件夹,我们现在来找到它,它的结构是这样的:

    vue-baidu-map

      |__ .github

      |__  build

      |__ components

      |__ test

      |__ types

  看到了吗? 这里有个components组件库,而官方描述中叫我们引入的是这个文件下的独立组件。

 

  实现:

    现在我们来看看代码。

    在个人注册的组件MapView.vue中来实现地图功能,

复制代码

<template><baidu-map class="map" :center="center" :zoom="zoom" @ready="handler"></baidu-map><!-- baidu-map指的既是BaiduMap组件 -->
</template>
<script>
import BaiduMap from 'vue-baidu-map/components/Map/Map.vue'
export default {data () {return {center: {lng: 0, lat: 0},  //经纬度zoom: 3  //地图展示级别}},components: {BaiduMap  //指定组件模板},methods: {handler ({BMap, map}) {console.log(BMap, map)this.center.lng = 116.404this.center.lat = 39.915this.zoom = 15}}
}
</script>
<style lang="less" scoped>
.map {width: 100%;height: 500px; //必须给容器指高度,要不然地图将显示在一个高度为0的容器中,自然看不到/deep/ .anchorBL {  //隐藏左下角百度地图logodisplay: none;}
}
</style>

复制代码

 

  如你需要使用其他的组件,只需要根据官方提供的控件名,通过 import引入组件,然后在components·中指定组件模板,在template中使用即可。

  例如:现在需要使用定位控件,官方提供的控件名是:BmGeolocation,接下来直接上代码:

  

复制代码

<template><baidu-map class="map" :center="center" :zoom="zoom" @ready="handler"><bm-geolocation anchor="BMAP_ANCHOR_BOTTOM_RIGHT" :showAddressBar="true" :autoLocation="true"></bm-geolocation></baidu-map>
</template>
<script>import BaiduMap from 'vue-baidu-map/components/Map/Map.vueimport BmGeolocation from 'vue-baidu-map/components/controls/Geolocation.vue'
export default {data () {return {center: {lng: 0, lat: 0},  zoom: 3  }},components: {BaiduMap,BmGeolocation},methods: {handler ({BMap, map}) {console.log(BMap, map)this.center.lng = 116.404this.center.lat = 39.915this.zoom = 15}}
}
</script>
<style lang="less" scoped>
.map {width: 100%;height: 500px; /deep/ .anchorBL {  display: none;}
}
</style>

这篇关于Vue Baidu Map 插件的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973295

相关文章

[SCF+wetest+jmeter]云性能压测工具使用方案

前言 压测太难?局域网压力无法判断服务器网络指标?无法产生非常大的并发量?云性能太贵? 也许我们可以把各种简单的工具拼起来进行压力测试! 准备 https://cloud.tencent.com/product/scf https://cloud.tencent.com/product/lm 云压测背景 常规压测工具,所有请求均从本地出发,走局域网可能导致网络请求的实际效果不够真实

mybaits参数处理map-------mybatis(五)

mybaits参数处理 Mybatis日常业务总我们无论是查询也好,插入也罢,我们一般都需要将实体的多个属性值到映射的sql语句中,比较常见的做法就是将实体属性封装到Map中,mybatis会自动从map中取出对应的属性值构造sql语句。下面为实例代码: 实体类 package model;public class Bloger {private int id;private Str

IDEA中使用maven配置mybatis-------mybatis(一)

IDEA下通过maven配置mybatis 创建maven项目,路径为:file–setting-maven–maven-archetye-webapp; 创建mybatis目录,按箭头所示依次点击,创建一个mybatis的文件编写目录 修改pom.xml配置文件,刚开始可能红框中的字体为红色,等待maven自动下载完成之后即可 mysql客户端配置 添加log4j <

IDEA +maven git tomcat database数据库 调试 插件 log4j Spring junit

前言 idea优化配置、常规配置、配置maven、git、tomcat、database数据库、调试配置、插件配置、log4j配置、Spring配置等等,稍后一一更新! 优化配置(#item1 “item1”) 打开文件 :“idea – > bin – >idea64.exe.vmoptions” -Xms: 初始内存;-Xmx : 最大内存;-ReservedCodeCache

vue3显示element-plus所有icon

效果 代码 <template><div style="display: flex;flex-wrap: wrap"><component :is="name" style="width: 2rem; margin-left: 2rem" v-for="(name,index) in icons" :index="index" :key="index"></component></div>

bimface开发实战-vue版

效果 演示地址 框架 bimface + vue3.0 代码地址 gitee地址 使用 yarn install yarn serve

vue3.0 v-model 的使用

前言 组件功能:把 el-switch 的值 false/true, 动态绑定输出为 0, 1 组件代码 封装el-switch组件,当el-switch的值为false,输出值为0;当el-switch的值为true,输出值为1; <template><el-switch v-model="switchValue" @change="changeEvent"></el-switch

关于百度map API for Android的mobile ak 102错误

一共有三个sha1值需要比对: 第一个是 sha1值是http://developer.baidu.com/map/sdkandev-14.htm 里面获得的sha1值(包括里面的cmd和界面的两种获取sha1值得方法) 第二个是 sha1值是打包好apk文件中META-INF 文件夹的CERT.RSA中的sha1值。http://bbs.lbsyun.baidu.com/vi

sublime text ctags使用心得

ctags文件需要另行下载,然后添加到Windows的Path路径下面。 ctags -R -f .tags生成  .tags文件,然后在sublime下就可以用ctrl+t ctrl+t来跳转,用ctrl+t ctrl+b来返回到原来位置 使用ctrl+t、ctrl+r 两个连续组合键,创建.tags工程符号索引文件(此时Sublime Text 2会自动调用第一步安装的ctag

vimperator的使用

Vimium 其实是一款 Chrome 浏览器中的插件,而 Vimperator 则是 FireFox 火狐浏览器的插件     j:向下细微滚动窗口   k:向上细微滚动窗口          ctrl+d:向下滚动半个屏幕   ctrl+u:向上移动半个屏幕     g+g(连续按两下g):回到顶部     G:到达页面底部     H:后退   L: 前进