<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'><div dir='ltr'>
Bueno, al fin resolvimos el&nbsp;problema (algo del 10% Jorge) y compartimos la solución. Muchas gracias por la ayuda Jorge.<BR>
&nbsp;<BR>
El tema planteado era el siguiente:<BR>
...<BR>
&nbsp;<FONT color=#4f81bd>Estoy armando un visualizador web de mapas con OpenLayer.<BR>&gt; &gt; EN el visualizador muestro capas WMS con su estilo (del servidor WMS de la<BR>&gt; &gt; IDE de Santa FE), y quiero agregar capas propias en formato GML.<BR>&gt; &gt; Una de&nbsp;mis capas GML es "centros de salud",&nbsp;de puntos. Uno de los atributos<BR>&gt; &gt; de los centros de salud es dependencia, con valores "privado"&nbsp;o "publico".<BR>&gt; &gt; Quiero asignar símbolo distinto (imagen png) segun&nbsp; la dependencia sea<BR>&gt; &gt; "privado" o "publico".<BR>&gt; &gt; ¿Cómo hago cargando la capa solo una vez?<BR></FONT><BR>
...<BR>
<STRONG><FONT style="FONT-SIZE: 12pt" size=3>La solución&nbsp;dada por&nbsp;Carlos Podestá </FONT></STRONG>(<A href="mailto:webfe@hotmail.com">webfe@hotmail.com</A>)<BR>
&nbsp;<BR>
////////////////// PARA VARIAR&nbsp;LA SIMBOLOGIA&nbsp;DE UN GML&nbsp; SEGUN UN ATRIBUTO<BR>////---------------------------------------------------------------------------------------------<BR> //// Autir: Carlos Podestá<BR>
<BR>var aStyleMap = new OpenLayers.StyleMap({fillColor: 'yellow', <BR>fillOpacity: 0.3, strokeWidth: 1.0, strokeColor:'yellow', pointRadius: 10 });<BR> <BR>///&nbsp;&nbsp; EL símbolo varía segun DEPENDENCIA (atributo del GML)<BR>
var lookup = {};<BR>lookup['Provincial'] = {fillOpacity: 1, pointRadius: 10, externalGraphic: "imagenes/efector-publico.png"};<BR>lookup['Privado'] = {fillOpacity: 1, pointRadius: 10, externalGraphic: "imagenes/efector-privado.png"};<BR> <BR> <BR>aStyleMap.addUniqueValueRules("default", "dependecia", lookup);<BR> <BR>var gmlLayer = new OpenLayers.Layer.GML("Efectores <BR>Publicos", "gml/efectores.gml", {styleMap : aStyleMap});<BR> <BR>map.addLayers([wms, gmlLayer]);<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;if (!map.getCenter()) map.zoomToMaxExtent();<BR> <BR>map.setCenter(new OpenLayers.LonLat(longitud,latitud), 3);<BR>}<BR>----------------------------------------------------------<BR><BR>
Saludos a todos.<BR>
<BR>&nbsp;<BR>
<DIV>
&gt; From: jsanz@osgeo.org<BR>&gt; Date: Sun, 26 Jun 2011 09:07:08 +0200<BR>&gt; Subject: Re: [Spanish] OpenLayer - simbologia segun atributo en GML<BR>&gt; To: spanish@lists.osgeo.org<BR>&gt; <BR>&gt; 2011/6/26 Marta Lidia Stiefel &lt;mstiefel@hotmail.com&gt;:<BR>&gt; &gt; Muchas gracias Jorge,<BR>&gt; &gt; lamentablemente no me sirve. No puedo adaptarlo para usar con un archivo<BR>&gt; &gt; GML; en el ejemplo el vectorial se crea&nbsp;y no se carga desde un archivo.<BR>&gt; &gt; Si hay alguna otra mano, se agradecerá.<BR>&gt; &gt;<BR>&gt; <BR>&gt; Sí te sirve. Los estilos aplican a cualquier capa vectorial. Mira la<BR>&gt; API de la clase Layers.Vector<BR>&gt; <BR>&gt; http://dev.openlayers.org/releases/OpenLayers-2.10/doc/apidocs/files/OpenLayers/Layer/Vector-js.html<BR>&gt; <BR>&gt; Si lo que quieres decir es que no tienes claro como cargar una capa<BR>&gt; vectorial GML entonces es otra cosa que puedes encontrar en el<BR>&gt; servidor de ejemplos que recomiendo tener siempre a mano a cualquiera<BR>&gt; que quiera hacer algo con OL.<BR>&gt; <BR>&gt; http://openlayers.org/dev/examples/gml-layer.html<BR>&gt; <BR>&gt; Es decir no hay nada que adaptar, creas tu "stylemap" y luego se lo<BR>&gt; pasas a la capa vectorial como uno de sus atributos como se hace en el<BR>&gt; primer ejemplo que te pasé.<BR>&gt; <BR>&gt; En general la documentación de OL es realmente buena, con los ejemplos<BR>&gt; y la API hay un 90% de lo necesario a mano, el otro 10% es irse<BR>&gt; directamente al código fuente ya que algunas propiedades no están<BR>&gt; documentadas en la API y otras veces quieres saber exactamente que<BR>&gt; está pasando por ahí dentro.<BR>&gt; <BR>&gt; [5 minutos después]<BR>&gt; <BR>&gt; Me había entrado una duda y efectivamente este es un caso del 10%<BR>&gt; porque en el API de la clase Vector está el atributo "style" pero no<BR>&gt; "stylemap", aunque si vas al código, efectivamente es una propiedad<BR>&gt; que puedes establecer.<BR>&gt; <BR>&gt; http://trac.osgeo.org/openlayers/browser/trunk/openlayers/lib/OpenLayers/Layer/Vector.js<BR>&gt; (línea 170+-)<BR>&gt; <BR>&gt; <BR>&gt; Saludos<BR>&gt; <BR>&gt; -- <BR>&gt; Jorge Sanz<BR>&gt; http://es.osgeo.org<BR>&gt; _______________________________________________<BR>&gt; Spanish mailing list<BR>&gt; http://lists.osgeo.org/mailman/listinfo/spanish<BR>&gt; http://es.osgeo.org<BR>&gt; http://twitter.com/osgeoes<BR></DIV>                                               </div></body>
</html>