【问题标题】:How to use markup in an OpenLayers layer name如何在 OpenLayers 图层名称中使用标记
【发布时间】:2010-10-28 09:29:58
【问题描述】:

我有许多按以下方式定义的数据层:

var mylayer = new OpenLayers.Layer.TMS("MY LAYER NAME", "", { type: "png", getURL: my_layer_geturl, isBaseLayer: false, visibility: false, attribution: 'Some Attribution text' });

我添加到地图中,它出现在图层切换器上,一切都很好等等。 但是,我注意到生成的 HTML 包含以下内容:

<div class="dataLayersDiv">
    <input type="checkbox" id="OpenLayers.Control.LayerSwitcher_29_input_MY LAYER NAME" name="MY LAYER NAME" value="MY LAYER NAME">
    <span class="labelSpan" style="vertical-align: baseline;">MY LAYER NAME</span>
    <br>
</div>

您会注意到表单输入 ID 和 NAME 都包含逐字层名称。这对我来说似乎有点奇怪,因为 ID 和 NAME 属性很容易变得无效。更复杂的是,我希望在图层标签上添加一些标记,以便以不同的语言显示/隐藏图层名称。在表单字段中有标记是 a) 垃圾和 b) 导致 IIS 在提交表单时抱怨“可能不安全的请求”(asp.net webforms,包装页面的单个表单,因此如果没有负载就无法真正逃脱它工作!)

我知道如何规避不安全页面请求警告,但如果我这样做了,我的管理员会停下来。我想知道是否有人知道如何在不干扰底层控件标记的情况下巧妙地设置图层标签?

干杯, 史蒂夫

【问题讨论】:

  • 太棒了,我为此赢得了“风滚草”徽章。不能发牢骚!

标签: openlayers layer data-layers


【解决方案1】:

我认为您将不得不为此更改 LayerSwitcher,在那里以更好的方式创建自己的标记...也许 OL3 已经发生了一些事情,您检查了即将到来的更新吗?

(Tumbleweed 暂时停在一个废弃的沙龙的墙壁上。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多