主要分解为如下步骤:

(1)在html文件中引入百度地图,
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=your token "></script>
 
(2)在webpack.base.conf.js文件内添加external选项,在module.exports内部,和entry平级;
externals: {
   "BMap": "BMap"

 }, 

 
(3)添加地图组件BMapComponent.vue,这里主要注意两点:
    a)使用BMap的时候不需要import了,import反而会报错     
    b)注意一定要给bmap的div设置高度,否则会看不见
该组件的代码如下
  1. <template>
  2. <!--<div id="allmap" style="width: 100%; height: {{mapHeight}}px"></div>-->
  3. <!--<div id="allmap":style="{width: '100%', height: mapHeight + 'px'}"></div>-->
  4. <div id="allmap" v-bind:style="mapStyle"></div>
  5. </template>
  6. <script>
  7. exportdefault{
  8. data:function(){
  9. return{
  10. mapStyle:{
  11. width:'100%',
  12. height:this.mapHeight +'px'
  13. }
  14. }
  15. },
  16. props:{
  17. // 地图在该视图上的高度
  18. mapHeight:{
  19. type:Number,
  20. default:500
  21. },
  22. // 经度
  23. longitude:{
  24. type:Number,
  25. default:116.404
  26. },
  27. // 纬度
  28. latitude:{
  29. type:Number,
  30. default:39.915
  31. },
  32. description:{
  33. type:String,
  34. default:'天安门'
  35. }
  36. },
  37. ready:function(){
  38. var map =newBMap.Map("allmap");
  39. var point =newBMap.Point(this.longitude,this.latitude);
  40. var marker =newBMap.Marker(point);
  41. map.addOverlay(marker);
  42. map.centerAndZoom(point,15);
  43. // 信息窗的配置信息
  44. var opts ={
  45. width :250,
  46. height:75,
  47. title :"地址:",
  48. }
  49. var infoWindow =newBMap.InfoWindow(this.description, opts);// 创建信息窗口对象
  50. marker.addEventListener("click",function(){
  51. map.openInfoWindow(infoWindow,point);
  52. });
  53. map.enableScrollWheelZoom(true);
  54. map.openInfoWindow(infoWindow,point);//开启信息窗口
  55. }
  56. }
  57. </script>
  58. <!--Add"scoped" attribute to limit CSS to this component only -->
  59. <style scoped>
  60. </style>
 
(4) 在父组件中使用
    a)引入 import BMapComponent from './components/BMapComponent.vue'
    b)在template中增加标签
     <b-map-component></b-map-component>
    注意这里标签的命名,在vue文档中有说:http://vuejs.org.cn/guide/components.html#资源命名约定 
 

 

Vue系列:如何将百度地图包装成Vue的组件的更多相关文章

  1. vue项目中使用百度地图的方法

    1.在百度地图申请密钥: http://lbsyun.baidu.com/  将 <script type="text/javascript" src="http: ...

  2. 使用Vue Baidu Map对百度地图实现输入框搜索定位

    前端时间需要在页面的输入框输入地址,搜索并在百度地图上获取选定结果的坐标,前端使用了Vue + Element-ui,地图方面直接使用了封装好的百度地图vue组件-vue-baidu-map     ...

  3. 微信小程序--百度地图坐标转换成腾讯地图坐标

    最近开发小程序时出现一个问题,后台程序坐标采用的时百度地图的坐标,因为小程序地图时采用的腾讯地图的坐标系,两种坐标有一定的误差,导致位置信息显示不正确.现在需要一个可以转换两种坐标的方法,经过查询发现 ...

  4. vue 项目中引用百度地图

    新建map.js export const BaiduMap = { init: function() { const BMapURL = 'https://api.map.baidu.com/api ...

  5. 在Vue框架中使用百度地图

    1.首先在index.html中引入百度地图 <script type="text/javascript" src="http://api.map.baidu.co ...

  6. Vue中加载百度地图

    借助百度地图的 LocalSearch 和 Autocomplete 两个方法 实现方式:通过promise以及百度地图的callback回调函数 map.js 1 export function M ...

  7. Vue系列教程(一)之初识Vue

    一.Vue和MVVM Vue是一个渐进式的js框架,只注重视图层,结合了HTML+CSS+JS,非常的易用,并且有很好的生态系统,而且vue体积很小,速度很快,优化很到位. Vue技术周四MVVM开发 ...

  8. Vue系列:在vux的popup组件中使用百度地图遇到显示不全的问题

    问题描述: 将百度地图封装成一个独立的组件BMapComponent,具体见 Vue系列:如何将百度地图包装成Vue的组件(http://www.cnblogs.com/strinkbug/p/576 ...

  9. Qt的QWebChannel和JS、HTML通信/交互驱动百度地图

    Qt的QWebChannel和JS.HTML通信/交互驱动百度地图 0 前言 我一个研究嵌入式的,不知道怎么就迷上了上位机,接了几个项目都是关于Qt,这个项目还是比较经典的,自己没事儿的时候也进行研究 ...

随机推荐

  1. WPF学习之路(八)页面

    传统的应用程序中有两类应用程序模式:桌面应用,Web应用.WPF的导航应用程序模糊了这两类应用程序的界限的第三类应用程序 WPF导航表现为两种形式,一是将导航内容寄宿于窗口,二是XAML浏览器应用程序 ...

  2. nodejs学习笔记(1)--express安装问题:express不是内部也或者外部的命令解决方案

    "Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具.使用 Express 可以快速地搭建一个完 ...

  3. 使用git的分支功能实现定制功能摘取与组合的想法

    前言,这个想法应该是git比较通用的做法,只是我还没用过,所以把自己的想法记录在这里,督促自己以后按这个方式执行. 我们公司现在面临一个问题, 就是客户的定制需求很多,很杂,其中坑爹需求很多. 我还没 ...

  4. Asp.net MVC Razor模板引擎技巧分享

    Razor是Asp.net MVC中新的默认模板类型, 语法简单易用.这篇文章不涉及Razor的语法,主要介绍Razor的一些在MVC项目中的使用技巧,以及脱离MVC环境下,如何使用Razor. 阅读 ...

  5. SQL Server 2012实施与管理实战指南(笔记)——Ch3Alwayson可用组

    3.AlwaysOn可用组 Alwayson支持的,是一个可用性组,每个可用性组是包含了多个用户数据库的容器,可用性组内的数据库可以作为一个整体进行故障转移. AlwaysOn关键特性: 一.类似集群 ...

  6. Java Se: Logging 框架说明

    Java Logging 用惯了log4j等日志工具,竟然不知Java还自带了个log工具.今天有空了就来了解一下. 先来看一个简单的例子: public class SystemTest { pri ...

  7. jQuery自动完成组建Autocomplete

    一,属性介绍 * minChars (Number) 在触发autoComplete前用户至少需要输入的字符数.Default: 1,如果设为0,在输入框内双击或者删除输入框内内容时显示列表* wid ...

  8. spring annotation简述

    一.Annotation基本概念 Annotation是jdk5以后出现的新特性,在jdk中,其内置了许多自己的Annotation,例如@Override,@SuppresWarning,@Depr ...

  9. EF深入系列--Code First

    首先是创建DbContext,有两种途径 ①手动编写DbContext代码,同时还要记得去配置文件中添加connectionStrings public class BooksContext : Db ...

  10. MVC Ajax Helper或jQuery异步方式加载部分视图

    Model: namespace MvcApplication1.Models { public class Team { public string Preletter { get; set; } ...