1. 程式人生 > 其它 >視訊融合平臺EasyCVR電子地圖軌跡跟蹤非同步載入百度地圖SDK的操作方法

視訊融合平臺EasyCVR電子地圖軌跡跟蹤非同步載入百度地圖SDK的操作方法

在往期的文章中我們分享過關於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介面供使用者呼叫。有需要的使用者可參照官方介面文件進行操作。若有技術上的疑問,也可以聯絡我們進行協助。