隐藏百度地图“未授权”文字标识的办法

百度地图,高德地图,腾讯地图形成了垄断联盟,对开发者不管使用量多少,一律5万/年的授权费,这对中小开发者带来了很大负担。如有不从,就直接将配额降到个位数。作为开发者,不是想白嫖,愿意为使用量按需付费,但拒绝一刀切式的规则,尤其各个厂商串通起来的垄断规则。

百度地图会通过高亮如下的未授权文字来逼迫你就范,这些红色的文字无法用普通的css样式display:none来隐藏。

经过仔细分析后,发现“未授权”文字是通过Shadow Element来实现,并通过设置成private来阻止外界对其内容的修改。百度的方案看似无懈可击,但还有一种方法来实现隐藏这些文字。那就是在百度地图渲染前,劫持attachShadow接口调用,向其注入隐藏这些文字的样式代码。代码如下:

<script>
let originShadow = Element.prototype.attachShadow;
Element.prototype.attachShadow = function (...args) {
	const shadowRoot = originShadow.call(this, ...args);
	let style = document.createElement("style");
	style.innerHTML = "div { display: none !important; }";
	shadowRoot.appendChild(style);
	return shadowRoot;
};
</script>

请试试吧,希望能帮助被这个问题困扰的你

### Vue 项目中百度地图商用授权解决方案 在开发基于 Vue 的应用并集成百度地图时,如果遇到商用授权问题,可以按照以下方法来解决。 #### 关闭 JSAPI 商用授权挂件 当不需要使用商用功能时,可以在初始化百度地图插件时显式关闭该选项: ```javascript mounted() { // 百度地图初始化 BaiduMap.init().then((BMap) => { console.log(BMap); console.log("加载成功..."); // 创建地图实例,并禁用商用授权标志 let map = new BMap.Map("container", { enableBizAuthLogo: false, // 明确设置为false以关闭商用授权提示 }); }); } ``` 此配置项 `enableBizAuthLogo` 默认情况下是开启的,将其设为 `false` 可有效去除页面上显示的“JS API 商业化产品”的水印[^1]。 #### 获取正式商用授权 对于确实需要使用高级特性的场景,则应当申请官方提供的正式商用授权。这通常涉及以下几个方面的工作: - 访问百度地图开放平台官网注册账号; - 提交企业资质审核材料完成实名认证流程; - 购买适合业务需求的服务套餐获取密钥(AK); - 将所得到的应用秘钥正确填入到项目的相应位置以便合法调用接口。 通过上述途径取得有效的 AK 后,在代码中的引入方式如下所示: ```html <script type="text/javascript" src="//api.map.baidu.com/api?v=3.0&ak=您的密钥"></script> ``` 确保每次请求都携带正确的访问令牌,从而保障服务稳定性和数据安全性。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值