vue项目接入百度地图
方法一 :使用第三方工具
vue-baidu-map
安装命令:
yarn add vue-baidu-map --save
文档地址:https://dafrok.github.io/vue-baidu-map/#/zh/start/usage
案例01:https://blog.csdn.net/playboyanta123/article/details/86514891
案例02:https://www.cnblogs.com/wangqi2019/p/11040239.html
为了页面流畅,建议还是局部引用(觉得这三个满足一般的需求了),如下:
import { BaiduMap, BmScale, BmGeolocation } from 'vue-baidu-map'
然后注入依赖:
components: {
BaiduMap,
BmGeolocation,
BmScale
},
HTML代码,在需要引入百度地图的地方加入下面代码
<!--接入百度地图-->
<baidu-map style=" height: 600px;" :center="map_center" :zoom="my_zoom"
:scroll-wheel-zoom="my_scroll_wheel_zoom"
class="baidu-map-view"
@ready="map_handler" ak="分配给你的百度key">
</baidu-map>
如果没有百度地图key就去申请一个,申请网址:http://lbsyun.baidu.com/index.php?title=jspopular/guide/getkey
如果需要对地图进行事件处理,必须要在ready事件之后,否者取不到BMap对象!
ready 是在地图组件渲染完毕时触发,返回一个百度地图的核心类和地图实例——{BMap, map}。百度地图组件是异步加载,不要在组件的生命周期中访问 BMap 核心类和 map 实例,如有需要,请在所需组件的 ready 事件回调函数的参数中获取。
看代码:
// 地图初始化回调
map_handler({ BMap, map }) {
this.BMap = BMap
this.map = map
},
其中,BMap是百度地图的对象,直接new出来跟原始的百度地图API一样使用,map是地图对象,可以调用对应的地图方法,比如添加坐标点等。
获取到地图的BMap和map之后,剩下的操作就可以直接参照百度地图官方api接口了,对,就是这样子。
百度地图官方api demo:http://lbsyun.baidu.com/jsdemo.htm#canvaslayer
小案例(给地图设置点击获取经纬度坐标并标点):
this.map.addEventListener('click', (e) => {
const point = new this.BMap.Point(e.point.lng, e.point.lat)
const marker = new this.BMap.Marker(point) // 设置点击位置
map.clearOverlays() // 清空地图上其他红色位置标识
map.addOverlay(marker) // 添加指定点
})
希望对你有用!
方法二:引入百度地图JS
在 index.html 添加百度地图的 script
<script src="http://api.map.baidu.com/api?v=3.0&ak=你的百度地图秘钥(ak)&callback=bMapInit"></script>
webpack.base.conf.js添加externals配置,内容如下,与entry平级:
entry: {
app: ['babel-polyfill', './src/main.js']
},
externals: {
'BMap': 'BMap'
},
在调用百度地图的组件中引用:
import BMap from 'BMap'
在需要接入地图的界面引入地图
<div id="map-core"></div>
然后就可以写方法进行逻辑操作
this.map = new BMap.Map('map-core')
this.map.centerAndZoom(new BMap.Point(113.275, 23.117), 10)
然后就可以根据百度地图官方api进行逻辑编写。
希望对你有用!
vue项目接入百度地图的更多相关文章
- vue项目 调用百度地图 BMap is not defined
这次老板新接了一个四点半官网页面,使用vue来写.emm……我感觉整个人都不好了,两天半解决了20个静态页面.还好vue写页面简直飞快,遇到一个vue的新坑,使用百度地图. 研究了好一会,总是报错BM ...
- Vue项目引入百度地图
先去百度开放平台申请ak.http://lbsyun.baidu.com/ 进来之后 按照步骤走,先登录百度账号,然后申请成为开发者,然后申请ak密钥 填写完毕后提交,会给你邮箱发个激活邮件 点击申请 ...
- vue项目使用百度地图API获取经纬度
一.首先在百度api注册获得ak密钥 二.进行引入 (1).第一种方式: 直接在vue中index.html中用script标签引入. //你的ak密钥需要替换真实的你的ak码 <script ...
- vue项目,百度地图api高亮选取区域,高亮某个地区,行政区域等
效果如下: var blist = [] ,maxZoom: });// 创建地图实例 var point = new window.BMap.Point(89.48,31.57); map.cent ...
- 原有vue项目接入typescript
原有vue项目接入typescript 为什么要接入typescript javascript由于自身的弱类型,使用起来非常灵活. 这也就为大型项目.多人协作开发埋下了很多隐患.如果是自己的私有业务倒 ...
- Vue中使用百度地图——设置地图标注
知识点:创建Map实例,为指定的位置设置标注 参考博客:https://www.cnblogs.com/liuswi/p/3994757.html 1.效果图:初始化地图,设置指定经纬度为地图中心点坐 ...
- ol 接入百度地图
ol5 如何接入百度地图,网上的资料很多,但是大多都有问题,在级别放大时,地图发生扭曲.为此注重研究了下ol5 接入百度地图的方法. 首先明确以下问题: 百度地图的投影是3857. 百度地图的分辨率和 ...
- Vue项目接入MQTT
Vue项目接入MQTT 安装mqtt库 npm install mqtt --save Vue代码实现 <template> <div id="app"> ...
- vue项目接入markdown
vue 项目接入 markdown 最近做一个项目,需要在vue项目中接入 markdown 编辑器,其实这个好接,他没有什么特别的样式,男的就是图片的上传. 今天给大家推荐一个插件 :mavonEd ...
随机推荐
- 中软国际首届嘉年华晚会 创新网络年会PK“春晚”
随着新年脚步的来临,各大公司的年会陆续出炉,但是中软国际的首届嘉年华晚会,以创新网络年会和全国八地同步进行的模式,演绎不一样的互联网年会,简直可以PK“春晚”.IT届中最漂亮的美女热舞,程序员中最会唱 ...
- npx是什么
npx是一个执行npm软件包的二进制文件,通俗的讲,他可以执行npm的一些指令 在npm>5.2.0 的时候npm里面就集成了npx 比如npx webpack 他会执行node_modules ...
- 375. 猜数字大小 II
题目: 链接:https://leetcode-cn.com/problems/guess-number-higher-or-lower-ii/ 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 ...
- 路由算法之LS算法和DV算法全面分析
转载文章:https://blog.csdn.net/qq_22238021/article/details/80496138 很透彻!!!
- LAMP+discuz网站搭建过程
LAMP+discuz网站的搭建 一. LAMP环境搭建 0x01下载配置虚拟机 网上下载centOS7 64的镜像,然后在vmware里面配置好,我配置的是linux终端桌面,运行快,占内存小. 0 ...
- 快速搭建一个基于react的项目
最近在学习react,快速搭建一个基于react的项目 1.创建一个放项目文件夹,用编辑器打开 2.打开集成终端输入命令: npm install -g create-react-app 3. cre ...
- 第一章 - HTTP概述
1.1 HTTP——因特网的多媒体信使 可靠的数据传输协议 1.2 Web客户端和服务器 Web内容都是存储在Web服务器上的,使用HTTP协议,因此也称为HTTP服务器 HTTP客户端发出请求,提供 ...
- java字符串操作扩充:灵活截取字符串
java字符串操作扩充:灵活截取字符串 public class StringUtil { static int varlen1; static int varlen2; static String ...
- eclipse中配置maven环境
一.配置setting.xml文件 1.首先将下载好的maven打开,打开文件夹,首先就需要对maven安装目录下有个config文件夹,在文件夹下有settings.xml文件.settings里面 ...
- [CQOI2012] 交换棋子 - 费用流
有一个n行m列的黑白棋盘,你每次可以交换两个相邻格子(相邻是指有公共边或公共顶点)中的棋子,最终达到目标状态.要求第i行第j列的格子只能参与mi,j次交换. Solution 一个点拆三份,入点,主点 ...