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