2010-10-28 4 views
0

J'ai un certain nombre de couches de données définies de la manière suivante:Comment utiliser les balises d'un nom de couche OpenLayers

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

Que j'ajouter à la carte et il apparaît sur le commutateur de couche et tout va bien, etc. . Cependant, je constate que le code HTML résultant contient les éléments suivants:

<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> 

Vous remarquerez que l'identification et le nom contiennent tous les deux entrées de formulaire in extenso le nom de la couche. Cela me semble un peu étrange car les attributs ID et NAME peuvent facilement devenir invalides. Pour compliquer les choses, je souhaite ajouter un balisage aux étiquettes des calques afin d'afficher/masquer les noms des calques dans différentes langues. Le balisage dans les champs de formulaire est a) ordures et b) provoquant IIS à se plaindre de «demandes potentiellement dangereuses» quand un formulaire est soumis (asp.net webforms, forme unique enveloppant la page ne peut donc vraiment y échapper sans une charge de travail!)

Je sais comment contourner l'avertissement de demande de page dangereuse, mais mon administrateur va jeter un peu d'arrêt si je le fais. Je me demandais si quelqu'un là-bas connaissait un moyen de définir clairement les étiquettes de calque sans interférer avec le balisage de contrôle sous-jacent?

Cheers, Steve

+1

Impressionnant, je gagnais un badge « Tumbleweed » pour cela. Ne doit pas grogner! –

Répondre

2

Je pense que vous allez devoir changer le LayerSwitcher pour cela, y créant votre propre balisage, une meilleure façon ... Mayby quelque chose déjà en cours pour OL3, vous avez vérifié les mises à jour à venir?

(Tumbleweed temporairement arrêté par les murs d'une salle déserte.)

Questions connexes