<div dir="ltr"><p class="MsoNormal">Una pequeña observación:</p>

<p class="MsoNormal">mi objetivo es marcar ciertos municipios sobre la vista,
para lo cual vuestro código ha funcionado perfectamente.</p>

<p class="MsoNormal">El siguiente paso es que esa vista la quiero llevar a un
mapa como un &#39;marco de vista&#39;, ahí ya no veo esos municipios &#39;marcados&#39; . </p>

<p class="MsoNormal">Entiendo que al ser una capa virtual sobre la que dibuja los
gráficos, no se puede llevar sobre el marco de vista del mapa ¿es cierto esa
suposición?</p>

<p class="MsoNormal">¿Habría alguna manera de poder verlo sobre el mapa?</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Gracias, un saludo</p></div><div class="gmail_extra"><br><div class="gmail_quote">El 22 de octubre de 2015, 12:39, Tomás Cabezudo <span dir="ltr">&lt;<a href="mailto:tcabezudo@gmail.com" target="_blank">tcabezudo@gmail.com</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span style="font-size:12.8px">Muchas Gracias por la explicación.</span><div style="font-size:12.8px">He probado de la 1ª forma que me indicabas, registrando mis propios símbolos y ha funcionado perfectamente.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Gracias de nuevo, un saludo</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">El 22 de octubre de 2015, 12:00,  <span dir="ltr">&lt;<a href="mailto:gvsig_desarrolladores-request@listserv.gva.es" target="_blank">gvsig_desarrolladores-request@listserv.gva.es</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Envie los mensajes para la lista gvSIG_desarrolladores a<br>
        <a href="mailto:gvsig_desarrolladores@listserv.gva.es" target="_blank">gvsig_desarrolladores@listserv.gva.es</a><br>
<br>
Para subscribirse o anular su subscripción a través de WEB<br>
        <a href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer" target="_blank">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</a><br>
<br>
O por correo electrónico, enviando un mensaje con el texto &quot;help&quot; en<br>
el asunto (subject) o en el cuerpo a:<br>
        <a href="mailto:gvsig_desarrolladores-request@listserv.gva.es" target="_blank">gvsig_desarrolladores-request@listserv.gva.es</a><br>
<br>
Puede contactar con el responsable de la lista escribiendo a:<br>
        <a href="mailto:gvsig_desarrolladores-owner@listserv.gva.es" target="_blank">gvsig_desarrolladores-owner@listserv.gva.es</a><br>
<br>
Si responde a algún contenido de este mensaje, por favor, edite la<br>
linea del asunto (subject) para que el texto sea mas especifico que:<br>
&quot;Re: Contents of gvSIG_desarrolladores digest...&quot;. Ademas, por favor,<br>
incluya en la respuesta solo aquellas partes del mensaje a las que<br>
esta respondiendo.<br>
<br>
<br>
Asuntos del día:<br>
<br>
   1. Ayuda en el dibujado de símbolos sobre la vista. (Tomás Cabezudo)<br>
   2. Re: Ayuda en el dibujado de símbolos sobre la vista.<br>
      (Joaquin Jose del Cerro Murciano)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Thu, 22 Oct 2015 09:35:35 +0200<br>
From: Tomás Cabezudo &lt;<a href="mailto:tcabezudo@gmail.com" target="_blank">tcabezudo@gmail.com</a>&gt;<br>
Subject: [Gvsig_desarrolladores] Ayuda en el dibujado de símbolos<br>
        sobre la vista.<br>
To: <a href="mailto:gvsig_desarrolladores@listserv.gva.es" target="_blank">gvsig_desarrolladores@listserv.gva.es</a><br>
Message-ID:<br>
        &lt;<a href="mailto:CAObipL7eT_wwMXMRe0sODe_k883ZCdiOCekr1AODh7ak_HjdUA@mail.gmail.com" target="_blank">CAObipL7eT_wwMXMRe0sODe_k883ZCdiOCekr1AODh7ak_HjdUA@mail.gmail.com</a>&gt;<br>
Content-Type: text/plain; charset=&quot;utf-8&quot;<br>
<br>
Buenos días,<br>
<br>
estoy intentando pintar un símbolo(un ISimpleFillSymbol sencillo) sobre una<br>
feature en la vista y no lo consigo, a ver si alguien puede echar una mano.<br>
<br>
He probado varios caminos, pero ninguno con éxito.<br>
<br>
<br>
<br>
//aqui compongo el simbolo<br>
<br>
private ISymbol getSymbolMunicipios(){<br>
<br>
                        SymbologyManager sm =<br>
SymbologyLocator.getSymbologyManager();<br>
<br>
<br>
<br>
                        Color color = new Color(206,242,213);<br>
<br>
<br>
<br>
        ISimpleFillSymbol resp = sm.createSimpleFillSymbol();<br>
<br>
        resp.setFillColor(color);<br>
<br>
        resp.setOutline(null);<br>
<br>
<br>
<br>
        return resp;<br>
<br>
}<br>
<br>
<br>
<br>
<br>
<br>
//aqui intento pintarlo Utilizando el mapcontroldrawer:<br>
<br>
MapControl mapCtrl = ((DefaultViewPanel)vista).getMapControl();<br>
<br>
MapControlDrawer mapControlDrawer = mapCtrl.getMapControlDrawer();<br>
<br>
mapControlDrawer.draw(geomFeature, simbolo, feature);<br>
<br>
<br>
<br>
//Utilizando el graphics2d:<br>
<br>
Graphics2D g =  (mapCtrl.getImage()).createGraphics();<br>
<br>
<br>
simbolo.draw(g, g.getTransform(), geomFeature, feature, null);<br>
<br>
<br>
<br>
Ninguno de los caminos parece el correcto.<br>
<br>
<br>
<br>
Cualquier orientación será bienvenida, gracias<br>
<br>
Saludos<br>
------------ pr?a parte ------------<br>
Se ha borrado un adjunto en formato HTML...<br>
URL: <a href="http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151022/c2be5349/attachment-0001.htm" rel="noreferrer" target="_blank">http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151022/c2be5349/attachment-0001.htm</a><br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Thu, 22 Oct 2015 11:00:56 +0200<br>
From: Joaquin Jose del Cerro Murciano &lt;<a href="mailto:jjdelcerro@gvsig.org" target="_blank">jjdelcerro@gvsig.org</a>&gt;<br>
Subject: Re: [Gvsig_desarrolladores] Ayuda en el dibujado de símbolos<br>
        sobre la vista.<br>
To: Lista de Desarrolladores de gvSIG<br>
        &lt;<a href="mailto:gvsig_desarrolladores@listserv.gva.es" target="_blank">gvsig_desarrolladores@listserv.gva.es</a>&gt;<br>
Message-ID:<br>
        &lt;CABLUYi123P+zgynx60jPeTZmX=<a href="mailto:b7tbisPvEcr5JOiG-gZMUDbQ@mail.gmail.com" target="_blank">b7tbisPvEcr5JOiG-gZMUDbQ@mail.gmail.com</a>&gt;<br>
Content-Type: text/plain; charset=&quot;utf-8&quot;<br>
<br>
El 22 de octubre de 2015, 9:35, Tomás Cabezudo &lt;<a href="mailto:tcabezudo@gmail.com" target="_blank">tcabezudo@gmail.com</a>&gt;<br>
escribió:<br>
<br>
&gt; Buenos días,<br>
&gt;<br>
&gt; estoy intentando pintar un símbolo(un ISimpleFillSymbol sencillo) sobre<br>
&gt; una feature en la vista y no lo consigo, a ver si alguien puede echar una<br>
&gt; mano.<br>
&gt;<br>
&gt; He probado varios caminos, pero ninguno con éxito.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; //aqui compongo el simbolo<br>
&gt;<br>
&gt; private ISymbol getSymbolMunicipios(){<br>
&gt;<br>
&gt;                         SymbologyManager sm =<br>
&gt; SymbologyLocator.getSymbologyManager();<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                         Color color = new Color(206,242,213);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;         ISimpleFillSymbol resp = sm.createSimpleFillSymbol();<br>
&gt;<br>
&gt;         resp.setFillColor(color);<br>
&gt;<br>
&gt;         resp.setOutline(null);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;         return resp;<br>
&gt;<br>
&gt; }<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; //aqui intento pintarlo Utilizando el mapcontroldrawer:<br>
&gt;<br>
&gt; MapControl mapCtrl = ((DefaultViewPanel)vista).getMapControl();<br>
&gt;<br>
&gt; MapControlDrawer mapControlDrawer = mapCtrl.getMapControlDrawer();<br>
&gt;<br>
&gt; mapControlDrawer.draw(geomFeature, simbolo, feature);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; //Utilizando el graphics2d:<br>
&gt;<br>
&gt; Graphics2D g =  (mapCtrl.getImage()).createGraphics();<br>
&gt;<br>
&gt;<br>
&gt; simbolo.draw(g, g.getTransform(), geomFeature, feature, null);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Ninguno de los caminos parece el correcto.<br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
<br>
Hola Tomás,<br>
me temo que lo que quieres hacer no se puede.<br>
El pintado de la simbologia se encarga de hacerlo la<br>
leyenda de forma automatica al hacer un draw de la capa.<br>
No puedes forzar el pintado de una solo geometria.<br>
Depende de lo que quieras tienes varias opciones, pero<br>
necesitaria algo mas de descripcion de lo que quieres hacer<br>
para orientarte mejor.<br>
<br>
La opcion mas rapida si lo que quieres es pintar una geometria,<br>
o unas pocas, sobre la vista con una simbologia en concreto es<br>
usar el GraphicsLayer. Se trata de una capa virtual que se<br>
pinta sobre todas las demas y en la que puedes insertar geometrias<br>
con una simbologia en concreto y se pintaran sobre todas las<br>
capas. Un pedacito de codigo...<br>
<br>
        MapContext mapContext = ...;<br>
        Geometry theGeom = ...;<br>
<br>
        GraphicLayer gl = mapContext.getGraphicsLayer();<br>
<br>
        ISymbol symbolMunicipios = getSymbolMunicipios();<br>
<br>
        int symid = gl.getSymbolId(symbolMunicipios);<br>
        if( symid&lt;0 ) {<br>
            symid = gl.addSymbol(symbolMunicipios);<br>
        }<br>
        gl.addGraphic(&quot;miGrupo&quot;, theGeom, symid);<br>
<br>
        mapContext.invalidate();<br>
<br>
No lo he probado pero la idea seria algo asi.<br>
<br>
- Al mapContext le pedimos su GraphicsLayer.<br>
<br>
- En el hay que registrar el simbolo o simbolos que<br>
  vamos a usar con addSymbol.<br>
<br>
- Tenemos que tener la precaucion de no registrar<br>
  simbolos como locos, si ya lo hemos registrado<br>
  no lo volvemos a registrar.<br>
  Para eso, utilizaremos la funcion getSymbolId para<br>
  consultar si ya hemos registrado ese simbolo y solo<br>
  lo registraremos si no lo habiamos registrado antes.<br>
  Ojo, que esto solo funciona si utilizamos la misma<br>
  instanancia de simbolo. Si la funcion getSymbolMunicipios<br>
  nos devuelve una instanancia distinta cada vez que se<br>
  llama esto no ira.<br>
<br>
- Añadiremos al GraphicsLayer la geometria indicandole que<br>
  use el identificador del simbolo que hemos añadido.<br>
  Ademas usaremos un identificador, &quot;miGrupo&quot; en el codigo<br>
  que he picado, que identifique mi funcionalidad.<br>
  Hay que tener en cuenta que el GraphicsLayer se usa<br>
  en varias herramientas y cuando queremos borrar nuestros<br>
  graficos de el, deberemos borrar solo los nuestros usando<br>
<br>
  gl.removeGraphics(&quot;miGrupo&quot;);<br>
<br>
  Para no borrar los de las demas herramientas que puedan<br>
  haber insertado graficos en el.<br>
<br>
- Por ultimo forzamos un refresco del mapa.<br>
<br>
Ademas tendras que determinar cuando quieres eliminar los<br>
datos que has introducido en el GraphicsLayer.<br>
<br>
Otra opcion...<br>
Puedes crear tu propia leyenda que es la que se encarga de<br>
pintar las geometrias y asignarla a la capa. Asi sin pensarlo<br>
mucho, podrias extender de &quot;SingleSymbolLegend&quot; y sobreescribir<br>
el metodo:<br>
<br>
  public ISymbol getSymbolByFeature(Feature feat)<br>
<br>
para que en caso de que sea la feature que requieres un<br>
pintado especial retorne el simbolo que toque, y para el<br>
resto de casos llame al super.<br>
<br>
La cosa se puede complicar un poco mas si en lugar de<br>
usar una leyenda de simbolo unico quieres usar otra,<br>
mas que nada por su inicializacion, pero la idea seria<br>
la misma.<br>
<br>
Espero que te sirva algo de lo que cuento, y lo dicho,<br>
si me cuantas algo mas te puedo orientar mejor.<br>
<br>
Espero que cuentes por donde tiras y nos digas como te va.<br>
<br>
Un saludo<br>
Joaquin<br>
<br>
<br>
<br>
<br>
&gt; Cualquier orientación será bienvenida, gracias<br>
&gt;<br>
&gt; Saludos<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; gvSIG_desarrolladores mailing list<br>
&gt; <a href="mailto:gvSIG_desarrolladores@listserv.gva.es" target="_blank">gvSIG_desarrolladores@listserv.gva.es</a><br>
&gt; Para ver histórico de mensajes, editar sus preferencias de usuario o darse<br>
&gt; de baja en esta lista, acuda a la siguiente dirección:<br>
&gt; <a href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer" target="_blank">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</a><br>
&gt;<br>
&gt;<br>
<br>
<br>
--<br>
--------------------------------------<br>
Joaquin Jose del Cerro Murciano<br>
Development and software arquitecture manager at gvSIG Team<br>
<a href="mailto:jjdelcerro@gvsig.com" target="_blank">jjdelcerro@gvsig.com</a><br>
<a href="mailto:jjdelcerro@gvsig.org" target="_blank">jjdelcerro@gvsig.org</a><br>
gvSIG Association<br>
<a href="http://www.gvsig.com" rel="noreferrer" target="_blank">www.gvsig.com</a><br>
<a href="http://www.gvsig.org" rel="noreferrer" target="_blank">www.gvsig.org</a><br>
------------ pr?a parte ------------<br>
Se ha borrado un adjunto en formato HTML...<br>
URL: <a href="http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151022/932081f7/attachment-0001.htm" rel="noreferrer" target="_blank">http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20151022/932081f7/attachment-0001.htm</a><br>
<br>
------------------------------<br>
<br>
_______________________________________________<br>
gvSIG_desarrolladores mailing list<br>
<a href="mailto:gvSIG_desarrolladores@listserv.gva.es" target="_blank">gvSIG_desarrolladores@listserv.gva.es</a><br>
<a href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer" target="_blank">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</a><br>
<br>
<br>
Fin de Resumen de gvSIG_desarrolladores, Vol 130, Envío 8<br>
*********************************************************<br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>