Currently there's no separate function for drawing a legend item for one layer. However you can temporarily disable including the other layers by setting their layerObj.status to MS_OFF or layerObj.type to MS_LAYER_TYPE.MS_LAYER_QUERY.
<br><br>Best regards,<br><br>Tamas<br><br><br><br><div><span class="gmail_quote">2007/4/23, Jean Michel PIERRET &lt;<a href="mailto:jmp@geosys.com">jmp@geosys.com</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">












<div link="blue" vlink="blue" lang="FR">

<div>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">Hi,</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">1)</span></font></p><span class="q">

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>

<p><font face="Times New Roman" size="3"><span style="font-size: 12pt;" lang="EN-GB">I guess you should either disable the labelcache for
this layer (layerObj.labelcache = mapscript.MS_OFF ) or call layerObj.drawlabelcache
explicitly right after drawing the shapes.<br>
<br>
</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;" lang="EN-GB">&nbsp;</span></font></p></span>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;" lang="EN-GB">It's ok for the
label with (</span></font><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;" lang="EN-GB">layerObj.labelcache = mapscript.MS_OFF),
drawlabelcache does not exist on layerObj but on mapObj.</span></font></p>

<p><font face="Times New Roman" size="3"><span style="font-size: 12pt;" lang="EN-GB">&nbsp;</span></font></p>

<p style="margin-left: 70.8pt; text-indent: 35.4pt;"><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">lobj.labelcache
= <font color="teal"><span style="color: teal;">mapscript</span></font>.MS_OFF;</span></font></p><span class="q">

<p style="margin-left: 70.8pt; text-indent: 35.4pt;"><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">lobj.draw(_lobj.map,
iobj);</span></font></p></span>

<p style="margin-left: 35.4pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;" lang="EN-GB">or</span></font></p><span class="q">

<p style="margin-left: 35.4pt;"><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;lobj.draw(_lobj.map, iobj);</span></font></p></span>

<p style="margin-left: 35.4pt;"><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lobj.map.</span></font><span lang="EN-GB">drawlabelcache(iobj);</span></p>

<p><font face="Times New Roman" size="3"><span style="font-size: 12pt;" lang="EN-GB">2)</span></font></p><span class="q">

<p><font face="Times New Roman" size="3"><span style="font-size: 12pt;" lang="EN-GB">Here
is a function extracted from my previous project for drawing the legend image,
hopefully it applies to your intents fairly enough.<br>
<br>
private Image CreateLegendImage(layerObj layer, int classindex, int width, int
height, int keysizex, int keysizey)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; using (classObj def_class
= new classObj(null)) // for drawing legend images<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; using
(imageObj image = def_class.createLegendIcon(map, layer, width, height))<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; classObj layerclass = layer.getClass(classindex);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; layerclass.drawLegendIcon(layer.map, layer, keysizex, keysizey,
image, <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (width - keysizex) / 2, (height - keysizey)
/ 2);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; byte[] img = image.getBytes();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; using (MemoryStream ms = new MemoryStream(img)) <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return Image.FromStream(ms);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
<br>
</span></font></p></span>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;" lang="EN-GB">Your function work but for one class only and
without label, I'm looking for a function which give me the same result
of mapObj.drawLegend with only on layer activate.</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;" lang="EN-GB">Thanks,</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;" lang="EN-GB">&nbsp;</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;" lang="EN-GB">Regards.</span></font></p><span class="q">

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;" lang="EN-GB">&nbsp;</span></font></p>

<div>

<table style="width: 184.5pt;" border="0" cellpadding="0" width="246">
 <tbody><tr>
  <td style="padding: 0.75pt; width: 147.75pt;" width="197">
  <p><b><font color="#eebb22" face="Arial" size="1"><span style="font-size: 9pt; font-family: Arial; color: rgb(238, 187, 34); font-weight: bold;"><a href="mailto:jmp@geosys.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
<font color="#eebb22"><span style="color: rgb(238, 187, 34);">Jean-michel
  PIERRET</span></font></a> - Poste&nbsp; 376</span></font></b></p>
  </td>
 </tr>
 <tr>
  <td style="padding: 0.75pt; width: 147.75pt;" width="197">
  <p><b><font color="#999999" face="Arial" size="1"><span style="font-size: 9pt; font-family: Arial; color: rgb(153, 153, 153); font-weight: bold;">Tel
  : +33 (0)5 62 47 80 76</span></font></b><font color="#999999" face="Arial" size="1"><span style="font-size: 9pt; font-family: Arial; color: rgb(153, 153, 153);"><br>
  <b><span style="font-weight: bold;">Mail</span></b> : <a href="mailto:jmp@geosys.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"><font color="#336699"><span style="color: rgb(51, 102, 153);">
jmp@geosys.com</span></font></a><br>
  </span></font><b><font color="#336699" face="Arial" size="1"><span style="font-size: 9pt; font-family: Arial; color: rgb(51, 102, 153); font-weight: bold;">GEOSYS
  SA</span></font></b></p>
  </td>
 </tr>
</tbody></table>

<p><font color="navy" face="Times New Roman" size="3"><span style="font-size: 12pt; color: navy;">&nbsp;</span></font></p>

</div>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>

</span><p style="margin-left: 35.4pt;"><font face="Tahoma" size="2"><span style="font-size: 10pt; font-family: Tahoma;">-----Message d&#39;origine-----<br>
<b><span style="font-weight: bold;">De&nbsp;:</span></b> UMN MapServer Developers
List [mailto:<a href="mailto:MAPSERVER-DEV@LISTS.UMN.EDU" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">MAPSERVER-DEV@LISTS.UMN.EDU</a>] <b><span style="font-weight: bold;">De
la part de</span></b> Tamas Szekeres<span class="q"><br>
<b><span style="font-weight: bold;">Envoyé&nbsp;:</span></b> vendredi 20 avril
2007 21:15<br></span>
<b><span style="font-weight: bold;">À&nbsp;:</span></b>
<a href="mailto:MAPSERVER-DEV@LISTS.UMN.EDU" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">MAPSERVER-DEV@LISTS.UMN.EDU</a><br>
<b><span style="font-weight: bold;">Objet&nbsp;:</span></b> Re:
[UMN_MAPSERVER-DEV] C# layerObj.draw &amp;&amp; layerObj.drawLegend</span></font></p><div><span class="e" id="q_1121d96f9079fa2b_13">

<p style="margin-left: 35.4pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">&nbsp;</span></font></p>

<p style="margin-right: 0cm; margin-bottom: 12pt; margin-left: 35.4pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">&nbsp;</span></font></p>

<div>

<p style="margin-left: 35.4pt;"><span><font face="Times New Roman" size="3"><span style="font-size: 12pt;">2007/4/20, Jean
Michel PIERRET &lt;<a href="mailto:jmp@geosys.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">jmp@geosys.com</a>&gt;:</span></font></span></p>

<div link="blue" vlink="purple">

<div>

<p style="margin-left: 35.4pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">Hi,</span></font></p>

<p style="margin-left: 35.4pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>

<p style="margin-left: 35.4pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">I&#39;m using mapserver with c# bindings
and i have two questions.</span></font></p>

<p style="margin-left: 35.4pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">&nbsp;</span></font></p>

<p style="margin-left: 35.4pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">1)</span></font></p>

<p style="margin-left: 35.4pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font color="teal" face="Courier New" size="2"><span style="font-size: 10pt; color: teal;" lang="EN-GB">layerObj</span></font><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB"> lobj = 
<font color="blue"><span style="color: blue;">null</span></font>;</span></font></p>

<p style="margin-left: 35.4pt;"><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;</span></font></p>

<p style="margin-left: 70.8pt; text-indent: 35.4pt;"><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">...</span></font></p>

<p style="margin-left: 70.8pt; text-indent: 35.4pt;"><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;</span></font></p>

<p style="margin-left: 35.4pt;"><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<font color="teal"><span style="color: teal;">imageObj</span></font> iobj = <font color="blue"><span style="color: blue;">null</span></font>;</span></font></p>

<p style="margin-left: 35.4pt;"><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;</span></font></p>

<p style="margin-left: 35.4pt;"><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iobj = lobj.map.prepareImage();</span></font></p>

<p style="margin-left: 35.4pt;"><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;lobj.draw(_lobj.map, iobj);</span></font></p>

<p style="margin-left: 35.4pt;"><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;</span></font></p>

<p style="margin-left: 35.4pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;" lang="EN-GB">In the drawn image, the labels don&#39;t
appear, whereas with the method mapObj.draw they are there. It is normal ?.</span></font></p>

</div>

</div>

<div>

<p style="margin-left: 35.4pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"><br>
I guess you should either disable the labelcache for this layer
(layerObj.labelcache = mapscript.MS_OFF ) or call layerObj.drawlabelcache
explicitly right after drawing the shapes.<br>
&nbsp;</span></font></p>

</div>

<blockquote style="border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204); border-width: medium medium medium 1pt; padding: 0cm 0cm 0cm 6pt; margin-left: 4.8pt; margin-right: 0cm;">


<p style="margin-left: 35.4pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">&nbsp;</span></font></p>

<div link="blue" vlink="purple">

<div>

<p style="margin-left: 35.4pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;" lang="EN-GB">2)</span></font></p>

<p style="margin-left: 35.4pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;" lang="EN-GB">&nbsp;</span></font></p>

<p style="margin-left: 35.4pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;" lang="EN-GB">Exist there a method to draw legend for one
layer only and not for all the map. </span></font></p>

</div>

</div>

</blockquote>

<div>

<p style="margin-left: 35.4pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"><br>
Here is a function extracted from my previous project for drawing the legend
image, hopefully it applies to your intents fairly enough.<br>
<br>
private Image CreateLegendImage(layerObj layer, int classindex, int width, int
height, int keysizex, int keysizey)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; using (classObj
def_class = new classObj(null)) // for drawing legend images<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
using (imageObj image = def_class.createLegendIcon(map, layer, width, height))<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; classObj layerclass = layer.getClass(classindex);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; layerclass.drawLegendIcon(layer.map, layer, keysizex,
keysizey, image, <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (width - keysizex) / 2, (height -
keysizey) / 2);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; byte[] img = image.getBytes();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; using (MemoryStream ms = new MemoryStream(img)) <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return Image.FromStream(ms);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;</span></font></p>

</div>

<p style="margin-right: 0cm; margin-bottom: 12pt; margin-left: 35.4pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"><br>
Best regards,<br>
<br>
Tamas</span></font></p>

</div>

<p style="margin-left: 35.4pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">&nbsp;</span></font></p>

</span></div></div>

</div>


</blockquote></div><br>