Jan 302011
 
Para mostrar etiquetas en mapas creados con OpenLayers podemos utilizar la clase OpenLayers.Feature.Vector.
El constructor de Feature.Vector nos pide dos parámetros: una geometría y un estilo:

(El segundo parámetro es un objeto con atributos opcionales para incorporar a la feature. En nuestro caso no lo vamos a utilizar)
Para la geometría utilizaremos una instancia de la clase OpenLayers.Geometry.Point. Al constructor deberemos pasarle las coordenadas x,y del punto donde queramos situar la etiqueta:

Si las coordenadas provienen de objetos LonLat habrá que crearla de la siguiente manera:

Las features vectoriales tienen una propiedad denominada ‘style’ que es un objeto con las propiedades de visualización. Según la geometría que tenga la feature las propiedades se referirán a las características del grueso de linea, del radio del punto o, en nuestro caso, el estilo del texto. Las propiedades de estilo que puede tener una feature vectorial se detallan en la documentacion de los symbolizer.
La forma práctica de obtener un objeto estilo es utilizar el método ‘extend’ con un estilo por defecto y modificar el valor de las propiedades que queramos personalizar.

La propiedad ‘graphic’ es un Boolean que indica si queremos representar el ‘simbolizer’ del punto. Poniendo el valor en ‘false’ sólo se visualizará la etiqueta. Si lo activamos con ‘true’ se verán la etiqueta y el punto(por defecto un circulo). En este caso disponemos de las propiedades ‘labelXOffset’ y ‘labelYOffset’ para situar el texto de la etiqueta respecto del símbolo del punto.
Una vez creada la feature vectorial a partir de la geometría y el estilo habrá que añadirsela a una capa vectorial que habremos creado previamente:

Hemos preparado un pequeño ejemplo en el que se utiliza un mapa cuya única capa es la capa vectorial que contiene la etiqueta. Esto se consigue pasando al mapa la propiedad ‘allOverlays’ con el valor ‘true’ y fijando una extensión para el mapa.
Ejemplo de Etiqueta en OpenLayers
Jul 302010
 

OpenLayers es una librería escrita en Javascript y tiene todas sus ventajas y sus limitaciones.
Por seguridad no se permite que los scripts accedan a los ficheros del ordenador cliente, el que está ejecutando el navegador. Si que se permite acceder a ficheros en otros servidores.
Cuando realizamos una página html que accede a OpenLayers y muestra un mapa, siempre que los ficheros solicitados sean externos al ordenador cliente podremos ejecutarla directamente en el navegador y se verán los mapas solicitados.
Continue reading »