<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>Hola, s&iacute; que era eso, ya funciona.</p>
<p>&iexcl;Much&iacute;simas gracias!</p>
<p>El 05-01-2017 08:42 PM, Joaquin Jose del Cerro Murciano escribi&oacute;:</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<div dir="ltr"><br />
<div class="gmail_extra"><br />
<div class="gmail_quote">El 5 de enero de 2017, 17:27, Iago Alonso Alonso <span>&lt;<a href="mailto:ialonso@enxenio.es">ialonso@enxenio.es</a>&gt;</span> escribi&oacute;:<br />
<blockquote class="gmail_quote" style="margin-top: 0px; margin-bottom: 0px;">
<div style="font-size: 10pt; font-family: verdana,geneva,sans-serif;">
<p>Hola, revisando c&oacute;digo he visto en una clase un m&eacute;todo donde se usa una funci&oacute;n marcada como Deprecated. En concreto es:</p>
<p><strong>public DynObjectSet getInfo(java.awt.Point p, double tolerance, Cancellable cancel) throws LoadLayerException, DataException;</strong></p>
<p>De la interfaz InfoByPoint. En el javadoc pone que se uitilice &eacute;sta en su lugar:</p>
<p><strong>public DynObjectSet getInfo(Point p, double tolerance) throws LoadLayerException, DataException;</strong></p>
<p>En este caso se usa <span>org.gvsig.fmap.geom.primitive.<wbr />Point</span></p>
<p>El problema surge cuando en el m&eacute;todo que utiliza la funci&oacute;n <em>getInfo</em> <span>Deprecated</span> la cambio por la nueva. La funcionalidad del plugin ya no funciona, no se abre la ventana con la informaci&oacute;n del elemento pulsado.</p>
<p>El c&oacute;digo original se usa primero:</p>
<p>(java.awt.Point)<strong> Point imagePoint = new Point((int) event.getPoint().getX(), (int) event.getPoint().getY());</strong></p>
<p>y despu&eacute;s m&aacute;s adelante:</p>
<p><strong>DynObjectSet bit = ((VectorLayer) laCapa).getInfo(imagePoint,</strong><br /><strong>&nbsp;&nbsp;&nbsp;&nbsp; mapCtrl.getMapContext().<wbr />getViewPort().toMapDistance(3)<wbr />, new Cancellable() {</strong><br /><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public boolean isCanceled() {</strong><br /><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</strong><br /><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</strong></p>
<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void setCanceled(boolean canceled) {</strong><br /><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</strong><br /><strong>&nbsp;&nbsp;&nbsp;&nbsp; });</strong></p>
<p>Donde <strong>Cancellable</strong> es <span><em>org.gvsig.tools.task.<wbr />Cancellable</em></span> (Deprecated tambi&eacute;n). Si ahora intento cambiarlo por el m&eacute;todo nuevo recomendado:</p>
<p><strong>GeometryManager geometryManager = GeometryLocator.<wbr />getGeometryManager();</strong><br />(org.gvsig.fmap.geom.<wbr />primitive.Point) <strong>Point imagePoint = geometryManager.createPoint((<wbr />int) event.getPoint().getX(), (int) event.getPoint().getY(), SUBTYPES.GEOM2D);</strong></p>
<p>y despu&eacute;s m&aacute;s adelante:</p>
<p><strong>Double tolerance = mapCtrl.getMapContext().<wbr />getViewPort().toMapDistance(3)<wbr />;</strong><br /><strong>DynObjectSet bit = ((VectorLayer)laCapa).getInfo(<wbr />imagePoint, tolerance);</strong></p>
<p>Para <strong>DynObjectSet</strong> utilizo <strong>org.gvsig.tools.dynobject.<wbr />DynObjectSet</strong>.</p>
<p>Si ahora ejecuto gvSIG con las extensiones, cuando pincho en un elemento de la capa para obtener su informaci&oacute;n ya no se abre una ventana con los datos del elemento pero con el c&oacute;digo antiguo marcado como <span>Deprecated</span> s&iacute;.</p>
<p>&iquest;Por qu&eacute; al realizar el cambio no funciona, tiene que ver algo con usar <span>org.gvsig.fmap.geom.primitive.<wbr />Point</span> en lugar de <span>java.awt.Point</span>? &iquest;Estoy creando, gerenando, usando o importando algo que no es correcto?</p>
</div>
</blockquote>
<div><br />Hola, <br />a ver de forma muy rapida...<br />no puedes convertir alegremente un java.awt.Point a una geometria <br />de tipo Point. Depende de donde hayas sacado ese java.awt.Point puede<br />irte o no. Si el punto de java lo has obtenido de una interaccion <br />con el interface de usuario probablemente estara en coordenadas<br />de pantalla. Es decir hablara de una X e Y que definen el pixel <br />de la pantalla sobre el que has pinchado, mientras que la geometria<br />de tipo Point habla de un punto con su X e Y en el mundo real, estaran<br />por ejemplo en metros o lat/long segun el sistema de referencia usado<br />en la vista.<br /><br />Tirando de imaginacion...<br />Si lo que tienes desarrollado es un tool de gvSIG con su listener y<br />su behavior, probablemente ese event que tienes por ahi, sea un <br />PointEvent de gvSIG, y ademas del metodo getPoint, que estas usando,<br />tendra un getMapPoint que en lugar de devolver un punto de java<br />devuelbe ya una geometria contruida a partir del punto en pixels<br />de la pantalla en el que se hizo click pero ya con las transformaciones<br />adecuadas para representar un punto en el mundo real.<br /><br />Si no es un PointEvent de gvSIG lo que tienes, pero lo que si tienes<br />son unas coordenadas en pixels sobre la vista y quieres saber el punto<br />en unidades geograficas a las que se refiere puedes usar algo como:<br /><br />&nbsp; mapControl.getViewPort().convertToMapPoint(javaPointInPixels)<br /><br />A ver si te sirve.<br /><br />Un saludo<br />Joaquin<br />&nbsp;</div>
<blockquote class="gmail_quote" style="margin-top: 0px; margin-bottom: 0px;">
<div style="font-size: 10pt; font-family: verdana,geneva,sans-serif;">
<p>Un saludo y gracias.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
<br />______________________________<wbr />_________________<br /> gvSIG_desarrolladores mailing list<br /><a href="mailto:gvSIG_desarrolladores@listserv.gva.es">gvSIG_desarrolladores@<wbr />listserv.gva.es</a><br /> Para ver hist&oacute;rico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente direcci&oacute;n: <a href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer">https://listserv.gva.es/cgi-<wbr />bin/mailman/listinfo/gvsig_<wbr />desarrolladores</a><br /><br /></blockquote>
</div>
<br /><br clear="all" /><br />-- <br />
<div class="gmail_signature">--------------------------------------<br />Joaquin Jose del Cerro Murciano<br />Development and software arquitecture manager at gvSIG Team<br /><a href="mailto:jjdelcerro@gvsig.com">jjdelcerro@gvsig.com</a><br /><a href="mailto:jjdelcerro@gvsig.org">jjdelcerro@gvsig.org</a><br />gvSIG Association<br /><a href="http://www.gvsig.com">www.gvsig.com</a><br /><a href="http://www.gvsig.org">www.gvsig.org</a></div>
</div>
</div>
<br />
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">_______________________________________________<br /> gvSIG_desarrolladores mailing list<br /><a href="mailto:gvSIG_desarrolladores@listserv.gva.es">gvSIG_desarrolladores@listserv.gva.es</a><br /> Para ver hist&oacute;rico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente direcci&oacute;n: <a href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer">https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</a></div>
</blockquote>
</body></html>