vue Baidu Map --- vue百度地图插件
vue Baidu Map 官网:https://dafrok.github.io/vue-baidu-map/#/zh/start/installation
javascript 官网:http://lbsyun.baidu.com/jsdemo.htm#d0_1
实现功能:
- 搜索地点
- 点击地图获取到经纬度和地点信息
vue Baidu Map 安装:
$ npm install vue-baidu-map --save
全局注册
全局注册将一次性引入百度地图组件库的所有组件。
import Vue from 'vue'
import BaiduMap from 'vue-baidu-map' Vue.use(BaiduMap, {
// ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */
ak: 'YOUR_APP_KEY'
})
使用:
<template>
<baidu-map class="bm-view">
</baidu-map>
</template> <style>
//宽高一定要定义,否则看不见
.bm-view {
width: 100%;
height: 300px;
}
</style>
开始功能:使用搜索插件
<el-form-item label="输入地址关键词">
<el-input v-model="keyword"/> <!--输入关键词触发搜索-->
<input v-model="location" type="hidden"> <!--定位这个location点 如:厦门 地图打开就地位在厦门-->
</el-form-item>
<baidu-map
:center="center"
:zoom="15" <!--搜索结果的视图比例-->
:scroll-wheel-zoom="true" <!--是否可以用鼠标滚轮控制缩放-->
@click="getPoint"> <!--地图的点击事件 点击地图获取所需要的信息 如:经度、纬度-->
<!--地图类型,两种:一种是路线一种是绿的那种-->
<bm-map-type :map-types="['BMAP_NORMAL_MAP', 'BMAP_HYBRID_MAP']" anchor="BMAP_ANCHOR_TOP_LEFT"/>
<bm-view class="map"/>
<bm-local-search :keyword="keyword" :auto-viewport="true" style="width:0px;height:0px;overflow: hidden;"/> <!--隐藏下面的地址信息 美观点-->
script: data数据
location: '厦门',
keyword: '厦门',
zoom: 15,
center: {
lng: 118.206484,
lat: 24.492774
}
事件:获取经纬度 和 地点
getPoint(e) {
// console.log(e)
this.form.lng = e.point.lng
this.form.lat = e.point.lat
/* global BMap */ ****画重点:这里不是注释,是解决eslint报错
const geocoder = new BMap.Geocoder() // 创建地址解析器的实例
geocoder.getLocation(e.point, rs => {
// console.log(rs.addressComponents) // 结构化的地址描述(object)
const province = rs.addressComponents.province // 省
const city = rs.addressComponents.city // 城市
const district = rs.addressComponents.district // 区县
const street = rs.addressComponents.street // 街道
const streetNumber = rs.addressComponents.streetNumber// 门牌号
this.form.address = province + city + district + street + streetNumber // 组装成地址
// console.log(rs.surroundingPois) // 附近的POI点(array) POI:兴趣点 可以是一栋房子、一个商铺、一个邮筒、一个公交站
// console.log(rs.business) // 商圈字段,代表此点所属的商圈(string)
})
},
注意:
eslint 会报错:ESLint: 'BMap' is not defined. (no-undef)
解决办法:参考自文章:https://blog.csdn.net/xiu52t/article/details/84643716
方法1:如上图,在BMap上面加一行注释 /* global BMap */
方法2:在 .eslintrc.js中加代码
globals: { BMap: true },

vue Baidu Map --- vue百度地图插件的更多相关文章
- 使用Vue Baidu Map对百度地图实现输入框搜索定位
前端时间需要在页面的输入框输入地址,搜索并在百度地图上获取选定结果的坐标,前端使用了Vue + Element-ui,地图方面直接使用了封装好的百度地图vue组件-vue-baidu-map ...
- Vue Baidu Map 插件的使用
最近在做一个项目,技术采用的是Vue.js套餐,有个百度地图的需求,当时,大脑宕机,立马去引入百度地图API,当时想到两种方法,一种是在index.html中全局引入js,此法吾不喜,就采用了第二种异 ...
- vue百度地图插件
安装 npm i --save vue-baidu-map 代码 <template> <div> <baidu-map v-bind:style="mapSt ...
- vue项目中使用百度地图的方法
1.在百度地图申请密钥: http://lbsyun.baidu.com/ 将 <script type="text/javascript" src="http: ...
- 最全vue的vue-amap使用高德地图插件画多边形范围
一.在vue-cli的框架下的main.js(或者main.ts)中引入高德插件,代码如下: import Vue from 'vue' import VueAMap from 'vue-amap' ...
- vue 项目中引用百度地图
新建map.js export const BaiduMap = { init: function() { const BMapURL = 'https://api.map.baidu.com/api ...
- 在Vue框架中使用百度地图
1.首先在index.html中引入百度地图 <script type="text/javascript" src="http://api.map.baidu.co ...
- vue2.0之Vue Baidu Map 局部注册使用
文档地址:https://dafrok.github.io/vue-baidu-map/#/zh/start/usage 局部注册 <template> <baidu-map id= ...
- Vue中加载百度地图
借助百度地图的 LocalSearch 和 Autocomplete 两个方法 实现方式:通过promise以及百度地图的callback回调函数 map.js 1 export function M ...
随机推荐
- Punycode
Punycode是一个根据RFC 3492标准而制定的编码系统,主要用于把域名从地方语言所采用的Unicode编码转换成为可用于DNS系统的编码 “中文域名”不被标准的解析服务器支持,需转化为Puny ...
- 【Android】webview javascript 注入方法
Android中向webview注入js代码可以通过webview.loadUrl("javascript:xxx")来实现,然后就会执行javascript后面的代码. 但是当需 ...
- Spring注解式事务解析
#Spring注解式事务解析 增加一个Advisor 首先往Spring容器新增一个Advisor,BeanFactoryTransactionAttributeSourceAdvisor,它包含了T ...
- Python_queue单项队列
队列(queue),实现程序间的松耦合 队列的三种类: class queue.Queue(maxsize)# 先进先出, maxsize 指定队列长度,线程安全的清况下,可以放入实例,对实例进行传输 ...
- APP,H5测试要点
APP测试重点 一,运行测试 运行过程中,是否有加载提示: 运行速度是否流畅: 各个模块之间的切换是否正常: 二,更新测试:打开旧版app时,是否有更新提示,且在不同的手机版本上都能更新成功:打开新版 ...
- 一、Spring Boot 入门
1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 2014,martin fowler 微服务: ...
- open
open服务指的是封装的订单流接口,给外部第三方提供使用.(当然也可以区别的名字,我司这么叫而已,并且是用Java写的,谁晓得为什么不选择PHP来写)通过open api合作方就可以通过调用接口直接下 ...
- 在Node.js中使用ffi调用dll
类似的文章还是比较多的,但或多或少有一些问题没有解决,在此我将其整合并分享给大家: 测试环境: Node.js 9.9.0 VisualStudio 2015 "ffi": &qu ...
- django——简介
1.django的介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVT的软件设计模式,即模型Model,视图View和模板Template.它最初是被开发来用于管理劳伦 ...
- JS简单实现分页显示
完整代码源码可以在这里下载 1.在 HTML文件建立列表目标节点和翻页器目标节点 <body> <!--页面控制器 --> <div id="nav" ...