我的项目中须要用百度地图计算两个坐标点的间隔,在我的项目中引入vue-baidu-map后,组件中没有找不到BMap对象,一番寻找后。。。正确应用形式如下

1、在我的项目中引入vue-baidu-map

main.js中import BaiduMap from 'vue-baidu-map'   Vue.use(BaiduMap, {     ak: '你的密钥'                             })

2、在组件中应用须要先加载地图组件才能够应用BMap,不须要显示地图组件能够让他暗藏

<div v-show="false"> <baidu-map @ready="onMapReady"/></div>
methods: {    //检测地图加载实现       onMapReady({BMap, map}) {          this.BMap = BMap;                                                                       },       getDistance(p1, p2) {            try {                const _this = this;                const BMap = this.BMap;                const driving = new BMap.DrivingRoute(new BMap.Point(116.404, 39.915), {                onSearchComplete: function (results) {                    _this.distance = Math.floor((results.taxiFare.distance)/1000)// 公里数                }                });                driving.search(p1, p2);            } catch (e) {                console.warn(e, 'e')            }        },      handleAddressChange() {          const BMap = this.BMap;          if(!BMap) return;          const p1 = new BMap.Point(Longitude1, Latitude1);          const p2 = new BMap.Point(Longitude2, Latitude2);          this.getDistance(p1, p2)      }    }