У меня есть несколько слоев данных, определенных следующим образом:
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 могут легко стать недействительными.Чтобы составить дело, я хочу добавить разметку к меткам слоя, чтобы показать / скрыть названия слоев на разных языках.Разметка в полях формы - это а) мусор и б) побуждение IIS жаловаться на «потенциально небезопасные запросы» при отправке формы (веб-формы asp.net, одна форма, обертывающая страницу, поэтому на самом деле не удается избежать ее без загрузкиработа!)
Я знаю, как обойти предупреждение о небезопасном запросе страницы, но мой администратор немного остановится, если я это сделаю.Мне было интересно, если кто-нибудь знает способ аккуратно установить метки слоев, не мешая основной разметке управления?
Приветствия, Стив