首頁 > 軟體

vue全域性接入百度地圖的實現範例

2022-03-20 22:00:54

前言

本文主要教大家如何把百度地圖整合到我們的vue專案中

一、獲取ak金鑰

1、登入網址 https://lbsyun.baidu.com/

註冊百度地圖開放平臺賬號,填寫認證資訊,並且建立應用

建立完應用後可以在類似介面獲取到我們的AK金鑰

注意:IP白名單要合理設定

我這裡為了方便測試才設定的0.0.0.0/0

二、整合步驟

獲取到ak金鑰之後就可以與我們的VUE專案進行整合

1、npm下載包

程式碼如下(範例):

npm install --save vue-baidu-map --registry=https://registry.npm.taobao.org 

2、在main.js檔案引入

程式碼如下(範例):

import BaiduMap from 'vue-baidu-map'
Vue.use(BaiduMap, {
  // ak金鑰
  ak: 'pYNskAU5yNDInxABaC3agTroXNy6wKEY'
})
    

3. 頁面引入

程式碼如下(範例):

data(){
 	return{
	  // 百度地圖資訊設定
      // 地址資訊
      address: null,
      center: {lng: 0, lat: 0},
      //地圖展示級別
      zoom: 13,
	}
}
methods: {
	handler({BMap, map}) {
      this.center.lng = 116.419878;
      this.center.lat = 39.956823;
      this.zoom = this.zoom;
    },
    getClickInfo(e) {
      // 建立地理編碼範例
      const myGeo = new BMap.Geocoder();
      let _this = this;
      // 根據座標逆解析地址
      myGeo.getLocation(new BMap.Point(e.point.lng, e.point.lat), function (result) {
        if (result) {
          _this.form.warehouseLocation = result.address
        }
      });
      this.center.lng = e.point.lng;
      this.center.lat = e.point.lat;
    }
}


<style>

.mapbox {
  width: 100%;
  height: 100%;
}
</style>

效果圖

有一個點需要注意在方法裡進行逆解析地址的時候記得要在逆解析方法外 獲取this值
let _this = this;

總結

到此這篇關於vue全域性接入百度地圖的實現範例的文章就介紹到這了,更多相關vue全域性接入百度地圖內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com