如何彻底干掉 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!