天天看點

如何徹底幹掉 Cesium Viewer 中的商标

版權沒有,翻版不究。

這麼做貌似有點不太道德,不過既然官方都開源了,本着學習的目的去研究研究源碼未嘗不可。

雖然百度上有大把通過 css 手段隐藏商标的代碼,但是終究差幾分意思。遂決定自己撸。

衆所周知,Cesium 每個月的分發包(或叫釋出包、預編譯包等)内都有一個

Source

目錄,裡頭是源代碼,子產品化系統是

ESM

,面向對象的實作是 ES5。

尋找源代碼檔案 Source/Core/Ion.js

找到這個

Ion.js

檔案,不難發現這個 export 出來的類(或構造函數)定義了商标資訊和預設的通路 token。

修改源代碼并執行編譯打包指令

隻需修改這個方法:

Ion.getDefaultTokenCredit = function (providedKey) {
  if (providedKey !== defaultAccessToken) {
    return undefined;
  }

  if (!defined(defaultTokenCredit)) {
    var defaultTokenMessage =
      '<b> \
            This application is using Cesium\'s default ion access token. Please assign <i>Cesium.Ion.defaultAccessToken</i> \
            with an access token from your ion account before making any Cesium API calls. \
            You can sign up for a free ion account at <a href="https://cesium.com">https://cesium.com</a>.</b>';

    defaultTokenCredit = new Credit(defaultTokenMessage, true);
  }

  return defaultTokenCredit;
};
           

令其變為:

Ion.getDefaultTokenCredit = function (providedKey) {
  return undefined;
};
           

即可。随後,參考我之前寫的打包入門的教程,自己打包出來用就行了。

我不想自己修改源代碼編譯打包一次

這個時候,我建議你找到

Build/CesiumUnminified

目錄,打開

Cesium.js

檔案,搜尋

Ion.getDefaultTokenCredit

,大約跳轉到 73880 行(版本不同可能略有變動),修改輸出出來的總檔案也可以。

enjoy!

繼續閱讀