You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除TMS WEB Core中TWebLeafletMaps组件的署名信息?

如何在Delphi的TWebLeafletMaps组件中隐藏特定地图的署名行

在Delphi中使用TWebLeafletMaps组件时,默认会在地图右下角显示“Leaflet | OpenStreetMap contributors”署名行,且组件自动完成地图初始化,没有直接的设计时属性可以关闭这个署名。要仅针对当前地图移除该署名(而非全局禁用),可以通过组件的OnMapReady事件结合JavaScript来实现:

  • 第一步:选中目标TWebLeafletMaps组件,在Delphi的事件面板中找到OnMapReady事件,双击生成事件处理函数。
  • 第二步:在事件函数中调用组件的ExecuteJavascript方法,执行Leaflet的API代码来移除attribution控件。

示例Delphi代码:

procedure TYourForm.WebLeafletMaps1MapReady(Sender: TObject);
begin
  // 移除当前地图的署名控件
  WebLeafletMaps1.ExecuteJavascript('map.attributionControl.remove();');
end;

也可以选择禁用该控件(而非移除),代码如下:

procedure TYourForm.WebLeafletMaps1MapReady(Sender: TObject);
begin
  WebLeafletMaps1.ExecuteJavascript('map.attributionControl.disable();');
end;

说明

TWebLeafletMaps组件初始化后,在前端JavaScript环境中默认暴露名为map的地图实例对象,OnMapReady事件触发时地图已经完全加载完成,此时执行上述JS代码只会作用于当前这个地图组件,不会影响其他Leaflet地图实例。如果你的组件使用的地图实例变量名不是map,可以通过浏览器开发者工具查看页面中的JS变量,替换成对应的名称即可。

内容的提问来源于stack exchange,提问作者Shaun Roselt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 20:20:06