最近在项目中使用了百度地图来显示物流信息,实现方式有两种:

  • 引用Vue Baidu Map
  • 引用BMap

存在的问题:\color{red}{存在的问题:}存在的问题:
1、使用Vue Baidu Map不需要刷新页面即可显示地图,但是不知道如何修改起始点和终点的图标;
2、使用BMap可以修改起始点和终点的图标,但是地图需要刷新页面才会显示。
针对以上两个问题,问题1还未找到解决方案,大家如果有好的解决方案欢迎分享在下面哦。问题2的实现如下所示:

  • Vue文件中的代码

    <template><div id="myMap"></div>
    </template>
    import qs from "qs";
    export default {mounted() {this.getMap();},methods: {// 绘制地图getMap() {var map = new BMap.Map("myMap");map.enableScrollWheelZoom(true);//注意:下面的坐标值换为自己的动态值即可,我就不多说了var start = new BMap.Point(this.startLng, this.startLat);var end = new BMap.Point(this.currentLng, this.currentLat);var p1 = new BMap.Point(this.currentLng, this.currentLat);//自定义图标var startIcon = new BMap.Icon(require("../../assets/images/point.png"),  //起点图片new BMap.Size(25, 25));var currentIcon = new BMap.Icon(require("../../assets/images/car.png"),   //物流车图片new BMap.Size(25, 25));var endIcon = new BMap.Icon(require("../../assets/images/point.png"),   //终点图片new BMap.Size(25, 25));var driving = new BMap.DrivingRoute(map, {renderOptions: { map: map, autoViewport: true },onMarkersSet: function(routes) {//标注点完成回调map.clearOverlays(); //删除点var myStart = new BMap.Marker(start, { icon: startIcon });map.addOverlay(myStart);var myEnd = new BMap.Marker(end, { icon: endIcon });map.addOverlay(myEnd);var myP1 = new BMap.Marker(p1, { icon: currentIcon });map.addOverlay(myP1);}});driving.search(start, end, { waypoints: [p1] });},
    };
    </script>
    

    这样写之后浏览器会报BMap is undefined,解决方法如下:

  • 在项目根目录下建立Js文件(比如:map.js)

    export function MP(ak) {
    return new Promise(function (resolve, reject) {window.onload = function () {resolve(BMap)  }  var script = document.createElement("script");script.type = "text/javascript";  script.src = "http://api.map.baidu.com/api?v=2.0&ak="+ak+"&callback=init";script.onerror = reject;  document.head.appendChild(script);
    })
    }
    
  • 在App.vue中

    <script>
    import { MP } from './map'    //引入上面创建的map.js文件
    export default {name: 'app',data(){return {ak: "这里是您的密钥",}},async mounted(){await MP(this.ak);}
    }
    </script>
    
  • 要使用的vue文件中

    mounted() {// 解决BMap undefined
    this.$nextTick(() => {var timer = setTimeout(() => {this.getMap();}, 500);
    });
    },
    
  • 效果图

    好啦,通过上面的代码刷新显示地图就解决啦,若大家有更好的方法欢迎分享在下面???,期待中…

解决vue中BMap未定义问题相关推荐

  1. C#调用百度地图API入门解决BMap未定义问题

    本文主要是最近帮助好友研究JavaScript的百度地图API,同时显示到C# Winform界面.同时遇到了BMap未定义的错误(BMap is not defined)及解决方法.以前写过基于An ...

  2. 解决vue中绝对定位或固定定位在底部的按钮随键盘移动的问题

    解决vue中绝对定位或固定定位在底部的按钮随键盘移动的问题 参考文章: (1)解决vue中绝对定位或固定定位在底部的按钮随键盘移动的问题 (2)https://www.cnblogs.com/zlfP ...

  3. 解决vue中对象属性改变视图不更新的问题

    解决vue中对象属性改变视图不更新的问题 参考文章: (1)解决vue中对象属性改变视图不更新的问题 (2)https://www.cnblogs.com/buxiugangzi/p/12050165 ...

  4. vue本地没事放到服务器上无限循环,解决vue中的无限循环问题

    项目中遇到了这样一个问题:每一种产品有对应的服务费,每一个商家有多种商品要单独计算每一家的服务费,最后汇总总的服务费用.我直接写了一个方法来计算出每个商家和总的服务费用并return出来.如果不看控制 ...

  5. 解决vue中axios同步的问题

    解决vue中axios同步的问题 参考文章: (1)解决vue中axios同步的问题 (2)https://www.cnblogs.com/zhupanpan/p/11319305.html 备忘一下 ...

  6. 解决vue中使用swiper插件——李帅醒博客

    解决vue中使用swiper插件,在引入swiper插件后,发现无法正常运行 这次我们模拟从后台取下数据,然后数据绑定在swiper标签中. <template><div class ...

  7. 解决vue中无法取得methods方法中的return值

    解决vue中无法取得methods方法中的return值 参考文章: (1)解决vue中无法取得methods方法中的return值 (2)https://www.cnblogs.com/betty- ...

  8. bug解决-Vue中img图片加载失败解决方案

    Vue 中img图片加载失败解决方案 bug:assets文件下的图片动态取得话,显示不出来. 解决方法:把图片放到public文件夹下 public是直接原封不动打包到dist里面

  9. 解决vue中textarea不换行

    换行问题: vue 中 用 {{}} 进行数据绑定的时候,如果你想让字符串换行是不生效的 解决办法:不用上边的方式进行数据绑定,用v-html标签代替{{}} data中的str为 "111 ...

最新文章

  1. 统计计量 | 协方差和相关系数的暧昧关系:共性与个性
  2. 让jquery easyui datagrid列支持绑定嵌套对象
  3. poj1182(加权值的并查集)
  4. arcgis 卸载和注册表相关总结
  5. POJ-2480 Longge's problem 积性函数
  6. div的visibility和display属性区别
  7. luogu2024 食物链
  8. Convolutional Neurons Network 训练参数与连接数计算过程
  9. 网络编程释疑之:TCP半开连接的处理
  10. 24时区,GMT,UTC,DST,CST时间详解
  11. html 文件上传与移除,Vue采用input实现文件上传与删除
  12. java 线程状态_Java线程的状态
  13. Spring Boot教程(二十五)关于RabbitMQ服务器整合
  14. 阿里云自定义日记文件无法通过ftp下载
  15. MacOS苹果电脑使用PPPOE接入网络办法
  16. MATLAB实现的车牌定位系统
  17. python seo 采集内容_SEO如何处理采集内容(4)–转自{GoGo闯}
  18. 阿里云国际站代充值个人注册与分销商邀约区别
  19. DNS概述和DNS服务器部署(详细正向解析)
  20. Tekton 流水线发布首个官方 Beta 版本

热门文章

  1. 语法基础(Java)
  2. 北理计算机研究生在良乡校区吗,食在良乡——说说我在北理工的这几年
  3. Android拍照相册相关的图片获取与剪切工具类
  4. 计算机科学-2020软科世界一流学科排名
  5. JsRender基础语法循环和判断
  6. 苹果手机获取基站信息
  7. Uva 10537过路费 反向最短路
  8. Android Message Learning from MTK
  9. PyCharm添加Anaconda中的虚拟环境,Python解释器出现Conda executable is not found
  10. 如果没有计算机 就不会有哪些职业,假如没有电脑 我的日常生活可能会变成这样!...