Как использовать разметку в имени слоя OpenLayers - PullRequest
0 голосов
/ 28 октября 2010

У меня есть несколько слоев данных, определенных следующим образом:

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, одна форма, обертывающая страницу, поэтому на самом деле не удается избежать ее без загрузкиработа!)

Я знаю, как обойти предупреждение о небезопасном запросе страницы, но мой администратор немного остановится, если я это сделаю.Мне было интересно, если кто-нибудь знает способ аккуратно установить метки слоев, не мешая основной разметке управления?

Приветствия, Стив

1 Ответ

2 голосов
/ 20 декабря 2010

Я думаю, вам придется изменить LayerSwitcher для этого, создав собственную разметку там, лучше ... Mayby, что-то уже происходит для OL3, вы проверяли грядущие обновления?

(Пачка временно остановлена ​​у стен пустынного салона.)

...