解决vue中BMap未定义问题
最近在项目中使用了百度地图来显示物流信息,实现方式有两种:
- 引用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未定义问题相关推荐
- C#调用百度地图API入门解决BMap未定义问题
本文主要是最近帮助好友研究JavaScript的百度地图API,同时显示到C# Winform界面.同时遇到了BMap未定义的错误(BMap is not defined)及解决方法.以前写过基于An ...
- 解决vue中绝对定位或固定定位在底部的按钮随键盘移动的问题
解决vue中绝对定位或固定定位在底部的按钮随键盘移动的问题 参考文章: (1)解决vue中绝对定位或固定定位在底部的按钮随键盘移动的问题 (2)https://www.cnblogs.com/zlfP ...
- 解决vue中对象属性改变视图不更新的问题
解决vue中对象属性改变视图不更新的问题 参考文章: (1)解决vue中对象属性改变视图不更新的问题 (2)https://www.cnblogs.com/buxiugangzi/p/12050165 ...
- vue本地没事放到服务器上无限循环,解决vue中的无限循环问题
项目中遇到了这样一个问题:每一种产品有对应的服务费,每一个商家有多种商品要单独计算每一家的服务费,最后汇总总的服务费用.我直接写了一个方法来计算出每个商家和总的服务费用并return出来.如果不看控制 ...
- 解决vue中axios同步的问题
解决vue中axios同步的问题 参考文章: (1)解决vue中axios同步的问题 (2)https://www.cnblogs.com/zhupanpan/p/11319305.html 备忘一下 ...
- 解决vue中使用swiper插件——李帅醒博客
解决vue中使用swiper插件,在引入swiper插件后,发现无法正常运行 这次我们模拟从后台取下数据,然后数据绑定在swiper标签中. <template><div class ...
- 解决vue中无法取得methods方法中的return值
解决vue中无法取得methods方法中的return值 参考文章: (1)解决vue中无法取得methods方法中的return值 (2)https://www.cnblogs.com/betty- ...
- bug解决-Vue中img图片加载失败解决方案
Vue 中img图片加载失败解决方案 bug:assets文件下的图片动态取得话,显示不出来. 解决方法:把图片放到public文件夹下 public是直接原封不动打包到dist里面
- 解决vue中textarea不换行
换行问题: vue 中 用 {{}} 进行数据绑定的时候,如果你想让字符串换行是不生效的 解决办法:不用上边的方式进行数据绑定,用v-html标签代替{{}} data中的str为 "111 ...
最新文章
- 统计计量 | 协方差和相关系数的暧昧关系:共性与个性
- 让jquery easyui datagrid列支持绑定嵌套对象
- poj1182(加权值的并查集)
- arcgis 卸载和注册表相关总结
- POJ-2480 Longge's problem 积性函数
- div的visibility和display属性区别
- luogu2024 食物链
- Convolutional Neurons Network 训练参数与连接数计算过程
- 网络编程释疑之:TCP半开连接的处理
- 24时区,GMT,UTC,DST,CST时间详解
- html 文件上传与移除,Vue采用input实现文件上传与删除
- java 线程状态_Java线程的状态
- Spring Boot教程(二十五)关于RabbitMQ服务器整合
- 阿里云自定义日记文件无法通过ftp下载
- MacOS苹果电脑使用PPPOE接入网络办法
- MATLAB实现的车牌定位系统
- python seo 采集内容_SEO如何处理采集内容(4)–转自{GoGo闯}
- 阿里云国际站代充值个人注册与分销商邀约区别
- DNS概述和DNS服务器部署(详细正向解析)
- Tekton 流水线发布首个官方 Beta 版本
热门文章
- 语法基础(Java)
- 北理计算机研究生在良乡校区吗,食在良乡——说说我在北理工的这几年
- Android拍照相册相关的图片获取与剪切工具类
- 计算机科学-2020软科世界一流学科排名
- JsRender基础语法循环和判断
- 苹果手机获取基站信息
- Uva 10537过路费 反向最短路
- Android Message Learning from MTK
- PyCharm添加Anaconda中的虚拟环境,Python解释器出现Conda executable is not found
- 如果没有计算机 就不会有哪些职业,假如没有电脑 我的日常生活可能会变成这样!...