Difference between revisions of "Openlayers: las herramientas disponibles por defecto"

From OSGeo
Jump to navigation Jump to search
m
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Nota:
 
  
EN: THIS IS STILL A DRAFT
+
=OpenLayers: las herramientas disponibles por defecto =
ES: SIGUE SIENDO UN BORRADOR
 
 
 
=Openlayers: las herramientas disponibles por defecto =
 
 
Aquí presentamos las herramientas mas importantes que Openlayers nos ofrece.
 
Aquí presentamos las herramientas mas importantes que Openlayers nos ofrece.
  
OpenLayers es principalmente una API <ref> Interfaz de programación de aplicaciones. Definición: http://es.wikipedia.org/wiki/API</ref>, una biblioteca de funciones, para manejar la navegación de mapas en la web y como tal no esta pensada para ofrecer una GUI <ref>Interfaz gráfica de usuario. Definición: http://es.wikipedia.org/wiki/GUI</ref>. Sin embargo nos proporciona también una cuantos objectos muy útiles para la interacción del usuario con el mapa<ref>Página oficial de ejemplo sobre los Controls. http://openlayers.org/dev/examples/controls.html</ref>.
+
OpenLayers es principalmente una API<ref> Interfaz de programación de aplicaciones. Definición: http://es.wikipedia.org/wiki/API</ref>, una biblioteca de funciones para manejar la navegación de mapas en la web y como tal no está pensada para ofrecer una GUI<ref>Interfaz gráfica de usuario. Definición: http://es.wikipedia.org/wiki/GUI</ref>. Sin embargo nos proporciona también una cuantos objetos muy útiles para la interacción del usuario con el mapa<ref>Página oficial de ejemplo sobre los Controls. http://openlayers.org/dev/examples/controls.html</ref>.
  
  
[[Image:Openlayers controls overview.png|thumb|none|400px|Una vista de todos los principale Controls de Openlayers]]
+
[[Image:Openlayers controls overview.png|thumb|none|400px|Una vista de los principales controles de OpenLayers]]
  
  
Line 18: Line 14:
 
| [[Image:Openlayers control layerswitcher.png]]  
 
| [[Image:Openlayers control layerswitcher.png]]  
 
|  
 
|  
;LayerSwitcher
+
===LayerSwitcher===
El Control para la gestion de la visibilidad de capas   
+
El control para la gestión de la visibilidad de capas.  
 
|-
 
|-
 
| [[Image:Openlayers control pan.png|center]]  
 
| [[Image:Openlayers control pan.png|center]]  
 
[[Image:Openlayers control zoom.png|center]]  
 
[[Image:Openlayers control zoom.png|center]]  
|  
+
|
==PanZoomBar==
+
 
Crea una barra de zoom y un panel de navegación que contienen los botones de ZoomIn y ZoomOut a los extremos.
+
===PanZoomBar===
Hay tres maneras para utilizar la zoom bar:
+
Crea una barra de zoom y un panel de navegación que contienen los botones de ''ZoomIn'' y ''ZoomOut'' a los extremos.
# Click sobre los botones de + o - puestos a los extremos de la barra.
+
Hay tres maneras para utilizar la ''zoom bar'':
: El resultado será el aumento/disminución de un nivel de zoom
+
 
# Click en cualquier punto de la zoom bar
+
# Clic sobre los botones de + o - puestos en los extremos de la barra.
: el slider se mueve en el zoom level mas cercano. la mapa se actualiza al nivel se zoom correspondiente.
+
: el resultado será el aumento/disminución de un nivel de zoom
# Usa el Drag&Drop para mover el cursor de la barra al nivel de zoom que prefieres
+
# Clic en cualquier punto de la ''zoom bar''
: cuando se deja el botón del mouse, lo slider se posiciona al nivel de zoom mas cercano y la mapa se actualiza al nivel de zoom correspondente.
+
: el desplazador (''slider'') se mueve al nivel de zoom más cercano. El mapa se actualiza al nivel de zoom correspondiente.
 +
# Desplazamiento del cursor a un nivel de zoom concreto
 +
: cuando se deja el botón del ratón, el ''slider'' se posiciona en el nivel de zoom más cercano y el mapa se actualiza al nivel de zoom correspondiente.
 
|-
 
|-
 
| [[Image:Openlayers control OverviewMap.png|center]]  
 
| [[Image:Openlayers control OverviewMap.png|center]]  
|  
+
|
==OverviewMap==
+
 
Crea una pequeña mapa de navegación. Este pequeño mapa enseña la posición del mapa grande y ofrece una herramienta mas de navegación. Normalmente se posiciona en el angulo bajo a la derecha y puede ser reducido con un click en el botón en su borde. El rectangulo dibujado en la mapa pequeña puede ser movido para cambiar la posición del mapa grande.
+
===OverviewMap===
 +
Crea una pequeño mapa de navegación. Este mapa enseña la posición del mapa principal y ofrece una herramienta más de navegación. Normalmente se posiciona en el ángulo inferior derecho y puede ser reducido con un clic en el botón que tiene en su borde. El rectángulo dibujado en este mapa puede ser movido para cambiar la posición del mapa principal.
  
 
|-
 
|-
 
| [[Image:Openlayers control Permalink.png|center]]  
 
| [[Image:Openlayers control Permalink.png|center]]  
 
|  
 
|  
;Permalink
+
===Permalink===
El Control guardar el enlace (permalink) al mapa  
+
Ofrece un enlace (''permalink'') al mapa. Esto permite poder guardar en un simple enlace el estado de la navegación del mapa. Así, puedes guardarlo como favorito en tu navegador o enviarlo por correo a un colega.
 
|-
 
|-
 
| [[Image:Openlayers control MouseToolbar.png|center]]  
 
| [[Image:Openlayers control MouseToolbar.png|center]]  
 
|  
 
|  
;MouseToolbar
+
===MouseToolbar===
El Control de Openlayers para cambiar entre navegación y zoom con el ratón
+
Es una simple barra de herramientas que permite escoger cómo utilizar el ratón entre navegación y zoom con ventana.
 
|-
 
|-
 
| [[Image:Openlayers control ScaleLine.png|center]]  
 
| [[Image:Openlayers control ScaleLine.png|center]]  
 
|  
 
|  
;ScaleLine
+
===ScaleLine===
El Control para eseñar la escala corriente
+
Enseña una escala gráfica sobre el mapa.
 
|-
 
|-
 
| [[Image:Openlayers control MousePosition.png|center]]  
 
| [[Image:Openlayers control MousePosition.png|center]]  
 
|  
 
|  
;MousePosition
+
===MousePosition===
El Control para enseñar las coordenadas actuales del cursor sobre el mapa
+
Enseña las coordenadas actuales del cursor sobre el mapa.
 
|}
 
|}
  
=la API=
+
=La API=
Los Objectos de la biblioteca de Openlayers están bien descritos, en inglés, en la documentación el linea disponible en el sitio web:
+
Los Objetos de la biblioteca de OpenLayers están bien descritos, en inglés, en la documentación eN linea disponible en el sitio web:
 
* http://dev.openlayers.org/releases/OpenLayers-2.6/doc/apidocs/files/OpenLayers-js.html
 
* http://dev.openlayers.org/releases/OpenLayers-2.6/doc/apidocs/files/OpenLayers-js.html
  
Por cada clase hay una descripción detallada y se ofrece el listado de los atributos y funciones.
+
Por cada clase hay una descripción detallada, ofreciéndose un listado completo de atributos y funciones de cada una de ellas. Cualquier desarrollador con cierta soltura en JavaScript podrá desarrollar aplicaciones de mapas en web con esta biblioteca de componentes sin mucho esfuerzo.
Quien esta mas confiado con el código en general y el Javascript en especifico encontrará muy fácil desarrollar aplicaciones de mapas en la web que utilicen esta biblioteca.
 
  
  
[[Image:Openlayers API web.png|thumb|none|400px|La pagina web de la API di Openlayers]]
+
[[Image:Openlayers API web.png|thumb|none|400px|Página web de la API de OpenLayers]]
  
 
=Ejemplo en código=
 
=Ejemplo en código=
En el código que sigue tenemos un ejemplo sencillo de como se pueden integrar facilmente todos los Controls descriptos antes.
+
En el código que sigue tenemos un ejemplo sencillo de cómo se pueden integrar fácilmente todos los controles descritos anteriormente.
  
Lo podemos copiar y guardar en un fichero con recorrido:
+
Lo podemos copiar y guardar en un fichero en la siguiente ubicación:
C:\ms4w\apps\mapserv-demo\ol_controls.html
+
 
 +
*<tt>C:\ms4w\apps\mapserv-demo\ol_controls.html</tt>
 +
 
 +
Una vez guardado estará disponible en el servidor local con este enlace<ref>Suponiendo que habéis seguido las indicaciones de las lecciones publicadas en http://wiki.osgeo.org/wiki/Instalaci%C3%B3n_y_manejo_de_servicios_OWS_con_UMN_Mapserver_y_Openlayers</ref>:
  
una vez guardado estará disponible en el servidor local con este enlace <ref>Si habéis seguido las indicaciones de las lecciones publicadas en http://wiki.osgeo.org/wiki/Instalaci%C3%B3n_y_manejo_de_servicios_OWS_con_UMN_Mapserver_y_Openlayers</ref>:
 
 
*http://localhost:9000/mapserv-demo/ol_controls.html
 
*http://localhost:9000/mapserv-demo/ol_controls.html
 
   
 
   
==el código==
+
==El código fuente==
 
<pre>
 
<pre>
 
  <html xmlns="http://www.w3.org/1999/xhtml">
 
  <html xmlns="http://www.w3.org/1999/xhtml">
 
     <head>
 
     <head>
         <title>Ejemplo de utilizo de los Controls de Openlayers</title>
+
         <title>Ejemplo de utilización de los Controles de OpenLayers</title>
 
   
 
   
 
  <style type="text/css">
 
  <style type="text/css">
Line 140: Line 140:
 
     </head>
 
     </head>
 
     <body onload="init()">
 
     <body onload="init()">
         <h1>Ejemplo de utilizo de los Controls de Openlayers</h1>
+
         <h1>Ejemplo de utilización de los controles de OpenLayers</h1>
 
   
 
   
 
         <p>
 
         <p>
Line 152: Line 152:
 
</pre>
 
</pre>
  
==comentarios==
+
==Comentarios: el objeto mapa==
===el objecto mapa===
+
 
En la creación del objecto mapa se añaden el parámetro de los Controls ("controls") y su valor es un array <ref>Definición de Array. http://es.wikipedia.org/wiki/Array</ref> que contiene todos los Controls que hemos visto antes.
+
En la creación del objeto mapa se añaden como segundo parámetro los Controles ("controls") y su valor es un array<ref>Definición de Array. http://es.wikipedia.org/wiki/Array</ref> que contiene todos los Controles que hemos visto antes.
  
 
                         map = new OpenLayers.Map('map', {
 
                         map = new OpenLayers.Map('map', {
Line 171: Line 171:
 
  });
 
  });
  
En este caso solo los Controls ''LayerSwitcher'' y ''Permalink'' tienen atributos pero mirando la API nos podemos enterar de todas las funciones que cada uno de estos objectos tienen y que podemos utilizar para personalizar nuestra web.
+
En este caso sólo los Controles ''LayerSwitcher'' y ''Permalink'' tienen atributos pero mirando la API podemos descubrir todas las funciones que cada uno de estos objetos tienen y qué podemos utilizar para personalizar nuestra web.
 +
 
 +
En la creación del objeto mapa, además de los controles se añaden como parámetros el identificador del objeto <tt>div</tt> en el que deberá dibujarse el mapa (en este caso el <tt>div</tt> tiene como identificador el valor <tt>map</tt> y por último el número de niveles de zoom que queremos tener.
  
 
=Links=
 
=Links=
Line 195: Line 197:
  
 
=Duración=
 
=Duración=
Por esta clase se evalúa una duración de X oras
+
Por esta clase se evalúa una duración de X horas
 +
 
  
[[Category:Español]]
 
 
[[Category:Education]]
 
[[Category:Education]]
 
[[Category:Cursos]]
 
[[Category:Cursos]]

Latest revision as of 14:57, 20 April 2009

OpenLayers: las herramientas disponibles por defecto

Aquí presentamos las herramientas mas importantes que Openlayers nos ofrece.

OpenLayers es principalmente una API[1], una biblioteca de funciones para manejar la navegación de mapas en la web y como tal no está pensada para ofrecer una GUI[2]. Sin embargo nos proporciona también una cuantos objetos muy útiles para la interacción del usuario con el mapa[3].


Una vista de los principales controles de OpenLayers


Control Descripción
Openlayers control layerswitcher.png

LayerSwitcher

El control para la gestión de la visibilidad de capas.

Openlayers control pan.png
Openlayers control zoom.png

PanZoomBar

Crea una barra de zoom y un panel de navegación que contienen los botones de ZoomIn y ZoomOut a los extremos. Hay tres maneras para utilizar la zoom bar:

  1. Clic sobre los botones de + o - puestos en los extremos de la barra.
el resultado será el aumento/disminución de un nivel de zoom
  1. Clic en cualquier punto de la zoom bar
el desplazador (slider) se mueve al nivel de zoom más cercano. El mapa se actualiza al nivel de zoom correspondiente.
  1. Desplazamiento del cursor a un nivel de zoom concreto
cuando se deja el botón del ratón, el slider se posiciona en el nivel de zoom más cercano y el mapa se actualiza al nivel de zoom correspondiente.
Openlayers control OverviewMap.png

OverviewMap

Crea una pequeño mapa de navegación. Este mapa enseña la posición del mapa principal y ofrece una herramienta más de navegación. Normalmente se posiciona en el ángulo inferior derecho y puede ser reducido con un clic en el botón que tiene en su borde. El rectángulo dibujado en este mapa puede ser movido para cambiar la posición del mapa principal.

Openlayers control Permalink.png

Permalink

Ofrece un enlace (permalink) al mapa. Esto permite poder guardar en un simple enlace el estado de la navegación del mapa. Así, puedes guardarlo como favorito en tu navegador o enviarlo por correo a un colega.

Openlayers control MouseToolbar.png

MouseToolbar

Es una simple barra de herramientas que permite escoger cómo utilizar el ratón entre navegación y zoom con ventana.

Openlayers control ScaleLine.png

ScaleLine

Enseña una escala gráfica sobre el mapa.

Openlayers control MousePosition.png

MousePosition

Enseña las coordenadas actuales del cursor sobre el mapa.

La API

Los Objetos de la biblioteca de OpenLayers están bien descritos, en inglés, en la documentación eN linea disponible en el sitio web:

Por cada clase hay una descripción detallada, ofreciéndose un listado completo de atributos y funciones de cada una de ellas. Cualquier desarrollador con cierta soltura en JavaScript podrá desarrollar aplicaciones de mapas en web con esta biblioteca de componentes sin mucho esfuerzo.


Página web de la API de OpenLayers

Ejemplo en código

En el código que sigue tenemos un ejemplo sencillo de cómo se pueden integrar fácilmente todos los controles descritos anteriormente.

Lo podemos copiar y guardar en un fichero en la siguiente ubicación:

  • C:\ms4w\apps\mapserv-demo\ol_controls.html

Una vez guardado estará disponible en el servidor local con este enlace[4]:

El código fuente

 <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
         <title>Ejemplo de utilización de los Controles de OpenLayers</title>
 
 	<style type="text/css">
         #map {
             width: 512px;
             height: 412px;
             border: 1px solid black;
         }
         #permalink{
             position:absolute;
             margin-left:522px;
         }
     </style>
     <script src="http://www.openlayers.org/api/OpenLayers.js"></script>
 
 	<script type="text/javascript">
 		var map;
 		function init(){
 			map = new OpenLayers.Map('map', {
 				controls: [
 					new OpenLayers.Control.PanZoomBar(),
 					new OpenLayers.Control.MouseToolbar(),
 					new OpenLayers.Control.LayerSwitcher({'ascending':false}),
 					new OpenLayers.Control.ScaleLine(),
 					new OpenLayers.Control.Permalink('permalink'),
 					new OpenLayers.Control.MousePosition(),
 					new OpenLayers.Control.OverviewMap(),
 					new OpenLayers.Control.KeyboardDefaults()
 				],
 				numZoomLevels: 6
 				
 			});
 
 
 			var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
 				"http://labs.metacarta.com/wms/vmap0",
 				{layers: 'basic'} );
 			var jpl_wms = new OpenLayers.Layer.WMS( "NASA Global Mosaic",
 				"http://t1.hypercube.telascience.org/cgi-bin/landsat7", 
 				{layers: "landsat7"});
 			var dm_wms = new OpenLayers.Layer.WMS( "DM Solutions Demo",
 				"http://www2.dmsolutions.ca/cgi-bin/mswms_gmap",
 				{layers: "bathymetry,land_fn,park,drain_fn,drainage," +
 						 "prov_bound,fedlimit,rail,road,popplace",
 				 transparent: "true", format: "image/png" });
 
 			jpl_wms.setVisibility(false);
 			dm_wms.setVisibility(false);
 
 			map.addLayers([ol_wms, jpl_wms, dm_wms]);
 			if (!map.getCenter()) map.zoomToMaxExtent();
 		}
 	</script>
 
    </head>
    <body onload="init()">
        <h1>Ejemplo de utilización de los controles de OpenLayers</h1>
 
        <p>
            Añadir zoom, navegación, layer switcher, overview map y enlaces 
            permalink a la mapa de  Openlayers.
        </p> 
         <a href="" id="permalink">Permalink</a>
         <div id="map"></div>
     </body>
 </html>

Comentarios: el objeto mapa

En la creación del objeto mapa se añaden como segundo parámetro los Controles ("controls") y su valor es un array[5] que contiene todos los Controles que hemos visto antes.

                       map = new OpenLayers.Map('map', {
				controls: [
					new OpenLayers.Control.PanZoomBar(),
					new OpenLayers.Control.MouseToolbar(),
					new OpenLayers.Control.LayerSwitcher({'ascending':false}),
					new OpenLayers.Control.ScaleLine(),
					new OpenLayers.Control.Permalink('permalink'),
					new OpenLayers.Control.MousePosition(),
					new OpenLayers.Control.OverviewMap(),
					new OpenLayers.Control.KeyboardDefaults()
				],
				numZoomLevels: 6
				
			});

En este caso sólo los Controles LayerSwitcher y Permalink tienen atributos pero mirando la API podemos descubrir todas las funciones que cada uno de estos objetos tienen y qué podemos utilizar para personalizar nuestra web.

En la creación del objeto mapa, además de los controles se añaden como parámetros el identificador del objeto div en el que deberá dibujarse el mapa (en este caso el div tiene como identificador el valor map y por último el número de niveles de zoom que queremos tener.

Links

Autores

Referencias

  1. Interfaz de programación de aplicaciones. Definición: http://es.wikipedia.org/wiki/API
  2. Interfaz gráfica de usuario. Definición: http://es.wikipedia.org/wiki/GUI
  3. Página oficial de ejemplo sobre los Controls. http://openlayers.org/dev/examples/controls.html
  4. Suponiendo que habéis seguido las indicaciones de las lecciones publicadas en http://wiki.osgeo.org/wiki/Instalaci%C3%B3n_y_manejo_de_servicios_OWS_con_UMN_Mapserver_y_Openlayers
  5. Definición de Array. http://es.wikipedia.org/wiki/Array

Licencia

  • la licencia por este articulo es: Creative Commons Attribution 3.0 License (http://creativecommons.org/licenses/by/3.0/deed.es).
  • esta licencia permite:
    • copiar, distribuir y comunicar públicamente la obra
    • hacer obras derivadas
  • bajo estas condiciones:
    • Reconocimiento. Debe reconocer los créditos de la obra de la manera especificada por el autor o el licenciador (pero no de una manera que sugiera que tiene su apoyo o apoyan el uso que hace de su obra).
    • Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra.
    • Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor
    • Nada en esta licencia menoscaba o restringe los derechos morales del autor.

Duración

Por esta clase se evalúa una duración de X horas