SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
© Juan Quemada, DIT, UPM
Geolocalización en HTML5
1
Juan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
HTML5 puede soportar geolocalización
n En todo tipo de clientes
w PCs, móviles tabletas, .....
El interfaz de geolocaclización
n da acceso tambien a otros sensores
w Brujula, acelerometro, .....
Geolocalización y Sensores
2
Juan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
La geolocalización se realiza siguiendo jerarquia de consultas
n GPS -> antena WIFI -> antena GSM o 3G -> IP fija -> .....
w Se devuelve la respuesta más precisa
La geolocalización está accesible en del objeto navigator.geolocation
n con método getCurrentPosition(successFunction, errorFunction)
w Permite conocer
n Latitud y longitud en formato decimal
n Altitud y precisión de la altitud
n Dirección y velocidad
Norma y tutoriales
n http://dev.w3.org/geo/api/spec-source.html
n http://dev.opera.com/articles/view/how-to-use-the-w3c-geolocation-api/
n http://code.google.com/apis/maps/index.html
OJO! Geolocalización puede no funcionar por restricciones de seguridad
n Usar el navegador Firefox para probar los ejemplos geolocalizados en local
Geolocalización
3
Juan Quemada, DIT, UPM
<!DOCTYPE html>
<html>
<head>
<title>Example of W3C Geolocation API</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript">
if (navigator.geolocation) { //Check if browser supports W3C Geolocation API
navigator.geolocation.getCurrentPosition (successFunction, errorFunction);
} else { alert('Geolocation is not supported in this browser.'); }
function successFunction(position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
alert('Your latitude is :'+lat+' and longitude is '+long);
}
function errorFunction(position) { alert('Error!'); }
</script>
</head>
<body>
<p>If your browser supports Geolocation, you should get an alert with your coordinates.</p>
<p>Read the <a href="http://dev.opera.com">Dev.Opera</a> article <a
href="http://dev.opera.com/articles/view/how-to-use-the-w3c-geolocation-api/">"How
to use the W3C Geolocation API"</a>.
</body>
</html> © Juan Quemada, DIT, UPM
Ejemplo
Geolocation
4
Juan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
Aplicación HTML5 geolocalizada en
Google Maps
5
Juan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
Geolocalización con gmaps.js
Aplicacion de geolocalización
n Carga un mapa centrado en nuestra posición
w que se indica con un marcador
Usamos librería gmaps.js para acceso a Google Maps
n librería muy potente y sencilla de utilizar
w http://hpneo.github.io/gmaps/
n Se recomienda consultar documentación y ejemplos
n La librería de Google es bastante mas compleja
Se añade al mapa un manejador de eventos click/tap
n que calcula la ruta hasta el punto indicado
6
Juan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
Geo-mapa
7
Juan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
Geo-mapa
8
Juan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
Geo-mapa
9
Juan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
10
Juan Quemada, DIT, UPM
Estilo CSS multi-terminal
© Juan Quemada, DIT, UPM
HTML5 SVG: Scalable Vector
Graphics
11
Juan Quemada, DIT, UPM
Formato de representación de gráficos vectoriales
n Pueden cambiar de tamaño sin perdida de calidad
Recursos
n Galeria Wikimedia: http://commons.wikimedia.org/wiki/Category:SVGs_by_subject
n Editor SVG: http://svg-edit.googlecode.com/svn/branches/2.5.1/editor/svg-editor.html
n Tutorial: https://developer.mozilla.org/en-US/docs/Web/SVG
n Tutorial: http://www.w3schools.com/svg/
SVG: Scalable Vector Graphics
http://commons.wikimedia.org/wiki/File:Compass.svg
http://commons.wikimedia.org/wiki/SVG_examples
12
© Juan Quemada, DIT, UPMJuan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
Ejemplo “Ajuste SVG”
“Ajuste SVG” ilustra como reescalar una imagen SVG
n Las imagenes en SVG reescalan sin perder calidad
w porque son gráficos vectoriales
w tutorial: http://www.w3schools.com/svg/
n Las imágenes GIT, JPEG o PNG no reescalan bien
w porque tienen una resolución determinada
Esta WebApp tiene 2 botones: “+” y “-”
Cada vez que pulsamos uno de estos botones
n el tamaño de la imagen debe aumentar o disminuir un 10%
w según pulsemos “+” y “-”
13
Juan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
Ejemplo SVG
14
Juan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
Ejempo “Reloj SVG”
“Reloj SVG” genera un reloj sencillo con SVG
n El reloj se compone de
w Un círculo negro
w Tres lineas para las manecillas del reloj
SVG puede animarse con javaScript
n modificando la representación DOM del reloj
w Versión 1: las manecillas se mueven con transform
w https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform
w Version 2: Calcula las coordenadas de las manecillas
Se añade estilo CSS
n Mejora el aspecto y adapta al tamaño de la pantalla
15
Juan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
Reloj SVG
16
Juan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
SVG: Reloj animado
con “transform”
Juan Quemada, DIT, UPM
17
© Juan Quemada, DIT, UPM
Animar manecillas con coordenadas
Para animar las manecillas del reloj
n se incluye un script que cada segundo
w recalcula las coordenadas exteriores
n de las manecillas del reloj
n El secundero tiene una longitud de 50 pixels
n El minutero tiene una longitud de 40 pixels
n La manecilla horaria de 30 pixels
Las coordenadas x2, y2 de las manecillas de horas,
minutos y segundos se calculan con las funciones
n x2(tiempo, unidades_por_vuelta, x1, radio)
n y2(tiempo, unidades_por_vuelta, y1, radio)
18
Juan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
SVG: Reloj animado
con coordenadas
19
Juan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
Relojes con “estilo”
Usando CSS e imágenes se pueden diseñar
n Las capturas muestran pequeños cambios de diseño
w que cambian muy significativamente la apariencia del
reloj
n Hacer clic en estos URLs para verlos
w https://googledrive.com/host/0B48KCWfVwCIEMjFhUHM4d3FnSTg/09-clock_CSS.htm
w https://googledrive.com/host/0B48KCWfVwCIEMjFhUHM4d3FnSTg/10_clock_CSS_a.html
w https://googledrive.com/host/0B48KCWfVwCIEMjFhUHM4d3FnSTg/10_clock_CSS_b.htm
w https://googledrive.com/host/0B48KCWfVwCIEMjFhUHM4d3FnSTg/10_clock_CSS_c.htm
w https://googledrive.com/host/0B48KCWfVwCIEMjFhUHM4d3FnSTg/10_clock_CSS_d.htm
20
Juan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
SVG: Reloj con estilo CSS
21
Juan Quemada, DIT, UPM
Los objetos SVG se pueden definir también como objetos externos en XML
n Para importarlos con:
w <img>, <object>, <embed>, <iframe>
n Tutorial: http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Web-Use.html
Objetos SVG
22
© Juan Quemada, DIT, UPMJuan Quemada, DIT, UPM
© Juan Quemada, DIT, UPM
Final del tema
Muchas gracias!
23
Juan Quemada, DIT, UPM

Más contenido relacionado

Destacado

Isabel: Reuniones, Clases y Congresos a través de Internet
Isabel: Reuniones, Clases y Congresos a través de InternetIsabel: Reuniones, Clases y Congresos a través de Internet
Isabel: Reuniones, Clases y Congresos a través de Internet
Juan Quemada
 
Vishub description Global Excursion
Vishub description Global ExcursionVishub description Global Excursion
Vishub description Global Excursion
Juan Quemada
 
Herramientas para el desarrollo en plataformas móviles web
Herramientas para el desarrollo en plataformas móviles   webHerramientas para el desarrollo en plataformas móviles   web
Herramientas para el desarrollo en plataformas móviles web
joycesita
 
Internet Ice091117
Internet Ice091117Internet Ice091117
Internet Ice091117
Juan Quemada
 
Nuevos retos de Internet: Movilidad y Cloud Computing
Nuevos retos de Internet: Movilidad y Cloud ComputingNuevos retos de Internet: Movilidad y Cloud Computing
Nuevos retos de Internet: Movilidad y Cloud Computing
Juan Quemada
 
Human Interaction, Social Protocols and Collaborative Applications
Human Interaction, Social Protocols and Collaborative ApplicationsHuman Interaction, Social Protocols and Collaborative Applications
Human Interaction, Social Protocols and Collaborative Applications
Juan Quemada
 
Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5
joycesita
 

Destacado (20)

Ajax: Un nuevo enfoque - flisol2008
Ajax: Un nuevo enfoque - flisol2008Ajax: Un nuevo enfoque - flisol2008
Ajax: Un nuevo enfoque - flisol2008
 
Desarrollo de Aplicaciones Web 2.0 con GWT
Desarrollo de Aplicaciones Web 2.0 con GWTDesarrollo de Aplicaciones Web 2.0 con GWT
Desarrollo de Aplicaciones Web 2.0 con GWT
 
Presentación TEWC
Presentación TEWCPresentación TEWC
Presentación TEWC
 
Arquitectura del Web 2
Arquitectura del Web 2Arquitectura del Web 2
Arquitectura del Web 2
 
Isabel: Reuniones, Clases y Congresos a través de Internet
Isabel: Reuniones, Clases y Congresos a través de InternetIsabel: Reuniones, Clases y Congresos a través de Internet
Isabel: Reuniones, Clases y Congresos a través de Internet
 
0 entorno php
0 entorno php0 entorno php
0 entorno php
 
CSS
CSSCSS
CSS
 
Entorno PHP
Entorno PHPEntorno PHP
Entorno PHP
 
Google html5 Tutorial
Google html5 TutorialGoogle html5 Tutorial
Google html5 Tutorial
 
Vishub description Global Excursion
Vishub description Global ExcursionVishub description Global Excursion
Vishub description Global Excursion
 
Introducción CSS
Introducción CSSIntroducción CSS
Introducción CSS
 
Herramientas para el desarrollo en plataformas móviles web
Herramientas para el desarrollo en plataformas móviles   webHerramientas para el desarrollo en plataformas móviles   web
Herramientas para el desarrollo en plataformas móviles web
 
Internet Ice091117
Internet Ice091117Internet Ice091117
Internet Ice091117
 
Introducción a los Frameworks CSS
Introducción a los Frameworks CSSIntroducción a los Frameworks CSS
Introducción a los Frameworks CSS
 
Fundamentos de CSS
Fundamentos de CSSFundamentos de CSS
Fundamentos de CSS
 
Empresa 2.0
Empresa 2.0Empresa 2.0
Empresa 2.0
 
Nuevos retos de Internet: Movilidad y Cloud Computing
Nuevos retos de Internet: Movilidad y Cloud ComputingNuevos retos de Internet: Movilidad y Cloud Computing
Nuevos retos de Internet: Movilidad y Cloud Computing
 
Human Interaction, Social Protocols and Collaborative Applications
Human Interaction, Social Protocols and Collaborative ApplicationsHuman Interaction, Social Protocols and Collaborative Applications
Human Interaction, Social Protocols and Collaborative Applications
 
Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5
 
GSI Research Group Presentation
GSI Research Group PresentationGSI Research Group Presentation
GSI Research Group Presentation
 

Similar a Javascript - Módulo 9: Geolocalización en HTML5, Google maps, y SVG

Google Maps como modelo de negocio
Google Maps como modelo de negocioGoogle Maps como modelo de negocio
Google Maps como modelo de negocio
GDG Lima
 
Ficha presentacion de proyectos Repartidor Ciego
Ficha presentacion de proyectos Repartidor CiegoFicha presentacion de proyectos Repartidor Ciego
Ficha presentacion de proyectos Repartidor Ciego
Daniel Remondegui
 
Taller livetrackingandroid
Taller livetrackingandroidTaller livetrackingandroid
Taller livetrackingandroid
santiagohiguera
 
Cartografía Digitalizada y Principales Herramientas Informáticas aplicadas en...
Cartografía Digitalizada y Principales Herramientas Informáticas aplicadas en...Cartografía Digitalizada y Principales Herramientas Informáticas aplicadas en...
Cartografía Digitalizada y Principales Herramientas Informáticas aplicadas en...
Mision_Sucre_Aragua
 
Dispositivos de imagen y tipos de adapatadores de video
Dispositivos de imagen y tipos de adapatadores de videoDispositivos de imagen y tipos de adapatadores de video
Dispositivos de imagen y tipos de adapatadores de video
Santiago Arias
 
Unidad 1 . breve historia de la graficacion
Unidad 1 .  breve historia de la graficacionUnidad 1 .  breve historia de la graficacion
Unidad 1 . breve historia de la graficacion
Jimmy Cerecedo
 

Similar a Javascript - Módulo 9: Geolocalización en HTML5, Google maps, y SVG (20)

Google Maps como modelo de negocio
Google Maps como modelo de negocioGoogle Maps como modelo de negocio
Google Maps como modelo de negocio
 
Tutorial josm
Tutorial josmTutorial josm
Tutorial josm
 
ESTUDIOS BASICOS.docx
ESTUDIOS BASICOS.docxESTUDIOS BASICOS.docx
ESTUDIOS BASICOS.docx
 
Ficha presentacion de proyectos Repartidor Ciego
Ficha presentacion de proyectos Repartidor CiegoFicha presentacion de proyectos Repartidor Ciego
Ficha presentacion de proyectos Repartidor Ciego
 
Custom views in android using canvas api
Custom views in android using canvas apiCustom views in android using canvas api
Custom views in android using canvas api
 
NavegaRED: Conferencias de desarrolladores ESRI - España 2009
NavegaRED: Conferencias de desarrolladores ESRI - España 2009NavegaRED: Conferencias de desarrolladores ESRI - España 2009
NavegaRED: Conferencias de desarrolladores ESRI - España 2009
 
Taller livetrackingandroid
Taller livetrackingandroidTaller livetrackingandroid
Taller livetrackingandroid
 
Cartografía Digitalizada y Principales Herramientas Informáticas aplicadas en...
Cartografía Digitalizada y Principales Herramientas Informáticas aplicadas en...Cartografía Digitalizada y Principales Herramientas Informáticas aplicadas en...
Cartografía Digitalizada y Principales Herramientas Informáticas aplicadas en...
 
184411440 mapas-geolocalizacion
184411440 mapas-geolocalizacion184411440 mapas-geolocalizacion
184411440 mapas-geolocalizacion
 
Sistema de Taxi Compartido - Java
Sistema de Taxi Compartido - JavaSistema de Taxi Compartido - Java
Sistema de Taxi Compartido - Java
 
Topografia 2
Topografia 2Topografia 2
Topografia 2
 
Dispositivos de imagen y tipos de adapatadores de video
Dispositivos de imagen y tipos de adapatadores de videoDispositivos de imagen y tipos de adapatadores de video
Dispositivos de imagen y tipos de adapatadores de video
 
Examen LC2
Examen LC2Examen LC2
Examen LC2
 
Examen LC2
Examen LC2Examen LC2
Examen LC2
 
La historia de Street Easy
La historia de Street EasyLa historia de Street Easy
La historia de Street Easy
 
Unidad 1 . breve historia de la graficacion
Unidad 1 .  breve historia de la graficacionUnidad 1 .  breve historia de la graficacion
Unidad 1 . breve historia de la graficacion
 
PhoneGap Basics v1.0
PhoneGap Basics v1.0PhoneGap Basics v1.0
PhoneGap Basics v1.0
 
\n\nMapa & UGC: Puget Sound alquiler mapa\n\n
\n\nMapa & UGC: Puget Sound alquiler mapa\n\n\n\nMapa & UGC: Puget Sound alquiler mapa\n\n
\n\nMapa & UGC: Puget Sound alquiler mapa\n\n
 
Manejo de sketchup aplicado a la arqueologia
Manejo de sketchup aplicado a la arqueologiaManejo de sketchup aplicado a la arqueologia
Manejo de sketchup aplicado a la arqueologia
 
W online
W onlineW online
W online
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (11)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

Javascript - Módulo 9: Geolocalización en HTML5, Google maps, y SVG

  • 1. © Juan Quemada, DIT, UPM Geolocalización en HTML5 1 Juan Quemada, DIT, UPM
  • 2. © Juan Quemada, DIT, UPM HTML5 puede soportar geolocalización n En todo tipo de clientes w PCs, móviles tabletas, ..... El interfaz de geolocaclización n da acceso tambien a otros sensores w Brujula, acelerometro, ..... Geolocalización y Sensores 2 Juan Quemada, DIT, UPM
  • 3. © Juan Quemada, DIT, UPM La geolocalización se realiza siguiendo jerarquia de consultas n GPS -> antena WIFI -> antena GSM o 3G -> IP fija -> ..... w Se devuelve la respuesta más precisa La geolocalización está accesible en del objeto navigator.geolocation n con método getCurrentPosition(successFunction, errorFunction) w Permite conocer n Latitud y longitud en formato decimal n Altitud y precisión de la altitud n Dirección y velocidad Norma y tutoriales n http://dev.w3.org/geo/api/spec-source.html n http://dev.opera.com/articles/view/how-to-use-the-w3c-geolocation-api/ n http://code.google.com/apis/maps/index.html OJO! Geolocalización puede no funcionar por restricciones de seguridad n Usar el navegador Firefox para probar los ejemplos geolocalizados en local Geolocalización 3 Juan Quemada, DIT, UPM
  • 4. <!DOCTYPE html> <html> <head> <title>Example of W3C Geolocation API</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript"> if (navigator.geolocation) { //Check if browser supports W3C Geolocation API navigator.geolocation.getCurrentPosition (successFunction, errorFunction); } else { alert('Geolocation is not supported in this browser.'); } function successFunction(position) { var lat = position.coords.latitude; var long = position.coords.longitude; alert('Your latitude is :'+lat+' and longitude is '+long); } function errorFunction(position) { alert('Error!'); } </script> </head> <body> <p>If your browser supports Geolocation, you should get an alert with your coordinates.</p> <p>Read the <a href="http://dev.opera.com">Dev.Opera</a> article <a href="http://dev.opera.com/articles/view/how-to-use-the-w3c-geolocation-api/">"How to use the W3C Geolocation API"</a>. </body> </html> © Juan Quemada, DIT, UPM Ejemplo Geolocation 4 Juan Quemada, DIT, UPM
  • 5. © Juan Quemada, DIT, UPM Aplicación HTML5 geolocalizada en Google Maps 5 Juan Quemada, DIT, UPM
  • 6. © Juan Quemada, DIT, UPM Geolocalización con gmaps.js Aplicacion de geolocalización n Carga un mapa centrado en nuestra posición w que se indica con un marcador Usamos librería gmaps.js para acceso a Google Maps n librería muy potente y sencilla de utilizar w http://hpneo.github.io/gmaps/ n Se recomienda consultar documentación y ejemplos n La librería de Google es bastante mas compleja Se añade al mapa un manejador de eventos click/tap n que calcula la ruta hasta el punto indicado 6 Juan Quemada, DIT, UPM
  • 7. © Juan Quemada, DIT, UPM Geo-mapa 7 Juan Quemada, DIT, UPM
  • 8. © Juan Quemada, DIT, UPM Geo-mapa 8 Juan Quemada, DIT, UPM
  • 9. © Juan Quemada, DIT, UPM Geo-mapa 9 Juan Quemada, DIT, UPM
  • 10. © Juan Quemada, DIT, UPM 10 Juan Quemada, DIT, UPM Estilo CSS multi-terminal
  • 11. © Juan Quemada, DIT, UPM HTML5 SVG: Scalable Vector Graphics 11 Juan Quemada, DIT, UPM
  • 12. Formato de representación de gráficos vectoriales n Pueden cambiar de tamaño sin perdida de calidad Recursos n Galeria Wikimedia: http://commons.wikimedia.org/wiki/Category:SVGs_by_subject n Editor SVG: http://svg-edit.googlecode.com/svn/branches/2.5.1/editor/svg-editor.html n Tutorial: https://developer.mozilla.org/en-US/docs/Web/SVG n Tutorial: http://www.w3schools.com/svg/ SVG: Scalable Vector Graphics http://commons.wikimedia.org/wiki/File:Compass.svg http://commons.wikimedia.org/wiki/SVG_examples 12 © Juan Quemada, DIT, UPMJuan Quemada, DIT, UPM
  • 13. © Juan Quemada, DIT, UPM Ejemplo “Ajuste SVG” “Ajuste SVG” ilustra como reescalar una imagen SVG n Las imagenes en SVG reescalan sin perder calidad w porque son gráficos vectoriales w tutorial: http://www.w3schools.com/svg/ n Las imágenes GIT, JPEG o PNG no reescalan bien w porque tienen una resolución determinada Esta WebApp tiene 2 botones: “+” y “-” Cada vez que pulsamos uno de estos botones n el tamaño de la imagen debe aumentar o disminuir un 10% w según pulsemos “+” y “-” 13 Juan Quemada, DIT, UPM
  • 14. © Juan Quemada, DIT, UPM Ejemplo SVG 14 Juan Quemada, DIT, UPM
  • 15. © Juan Quemada, DIT, UPM Ejempo “Reloj SVG” “Reloj SVG” genera un reloj sencillo con SVG n El reloj se compone de w Un círculo negro w Tres lineas para las manecillas del reloj SVG puede animarse con javaScript n modificando la representación DOM del reloj w Versión 1: las manecillas se mueven con transform w https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform w Version 2: Calcula las coordenadas de las manecillas Se añade estilo CSS n Mejora el aspecto y adapta al tamaño de la pantalla 15 Juan Quemada, DIT, UPM
  • 16. © Juan Quemada, DIT, UPM Reloj SVG 16 Juan Quemada, DIT, UPM
  • 17. © Juan Quemada, DIT, UPM SVG: Reloj animado con “transform” Juan Quemada, DIT, UPM 17
  • 18. © Juan Quemada, DIT, UPM Animar manecillas con coordenadas Para animar las manecillas del reloj n se incluye un script que cada segundo w recalcula las coordenadas exteriores n de las manecillas del reloj n El secundero tiene una longitud de 50 pixels n El minutero tiene una longitud de 40 pixels n La manecilla horaria de 30 pixels Las coordenadas x2, y2 de las manecillas de horas, minutos y segundos se calculan con las funciones n x2(tiempo, unidades_por_vuelta, x1, radio) n y2(tiempo, unidades_por_vuelta, y1, radio) 18 Juan Quemada, DIT, UPM
  • 19. © Juan Quemada, DIT, UPM SVG: Reloj animado con coordenadas 19 Juan Quemada, DIT, UPM
  • 20. © Juan Quemada, DIT, UPM Relojes con “estilo” Usando CSS e imágenes se pueden diseñar n Las capturas muestran pequeños cambios de diseño w que cambian muy significativamente la apariencia del reloj n Hacer clic en estos URLs para verlos w https://googledrive.com/host/0B48KCWfVwCIEMjFhUHM4d3FnSTg/09-clock_CSS.htm w https://googledrive.com/host/0B48KCWfVwCIEMjFhUHM4d3FnSTg/10_clock_CSS_a.html w https://googledrive.com/host/0B48KCWfVwCIEMjFhUHM4d3FnSTg/10_clock_CSS_b.htm w https://googledrive.com/host/0B48KCWfVwCIEMjFhUHM4d3FnSTg/10_clock_CSS_c.htm w https://googledrive.com/host/0B48KCWfVwCIEMjFhUHM4d3FnSTg/10_clock_CSS_d.htm 20 Juan Quemada, DIT, UPM
  • 21. © Juan Quemada, DIT, UPM SVG: Reloj con estilo CSS 21 Juan Quemada, DIT, UPM
  • 22. Los objetos SVG se pueden definir también como objetos externos en XML n Para importarlos con: w <img>, <object>, <embed>, <iframe> n Tutorial: http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Web-Use.html Objetos SVG 22 © Juan Quemada, DIT, UPMJuan Quemada, DIT, UPM
  • 23. © Juan Quemada, DIT, UPM Final del tema Muchas gracias! 23 Juan Quemada, DIT, UPM