視訊融合平臺EasyCVR電子地圖軌跡跟蹤非同步載入百度地圖SDK的操作方法
阿新 • • 發佈:2022-05-19
在往期的文章中我們分享過關於EasyCVR電子地圖軌跡跟蹤的功能開發,感興趣的使用者可以檢視這篇文章:智慧視訊融合EasyCVR平臺GIS電子地圖:如何實現GPS座標轉換?
電子地圖的功能當前接入的是百度地圖key,功能釋出後,使用者將根據自身的需求配置自己的百度地圖key。但是前端無法儲存key,因此需要從服務端獲取後進行載入。今天分享一下載入操作。
1)預設的方式是同步載入key,但是同步載入則無法插入服務端配置的key,因此需要去除。
2)在utilsjs方法集加入如下函式:
參考程式碼如下:
export function LoadBaiduMapScript(AK) { //console.log("初始化百度地圖指令碼..."); const BMap_URL = "//api.map.baidu.com/api?v=2.0&ak="+AK+"&s=1&callback=onBMapCallback"; return new Promise((resolve, reject) => { // 如果已載入直接返回 if(typeof BMap !== "undefined") { resolve(BMap); return true; } // 百度地圖非同步載入回撥處理 window.onBMapCallback = function () { console.log("地圖指令碼初始化成功..."); resolve(BMap); }; // 插入script指令碼 let scriptNode = document.createElement("script"); scriptNode.setAttribute("type", "text/javascript"); scriptNode.setAttribute("src", BMap_URL); document.body.appendChild(scriptNode); scriptNode.onerror = function (e) { console.log("地圖指令碼初始化失敗 error:",e); resolve() } }); }
3)在專案中,路由監聽加入LoadBaiduMapScript函式:
EasyCVR視訊平臺可拓展性強、部署輕鬆、操作便捷,線下場景中的專案應用也十分廣泛。為了滿足使用者的整合與二次開發需求,我們也提供了豐富的API介面供使用者呼叫。有需要的使用者可參照官方介面文件進行操作。若有技術上的疑問,也可以聯絡我們進行協助。