SlideShare una empresa de Scribd logo
Desarrollo de Mi Primer Mapplet Jorge Iván Meza Martínez < [email_address] > http://www.jorgeivanmeza.com/ http://educacion.misservicios.net/
Contenido Plantilla base de un  Mapplet . Desarrollo e implementación de  MiPrimerMapplet . Publicación de  Mapplets  con  Google Pages . Agregar el  Mapplet  a  Mis Mapas . Compartir el acceso a los  Mapplets  desarrollados . Enlaces de interés.
Plantilla base de  Mapplets En términos generales la implementación de un  Mapplet  es un archivo XML con la siguiente estructura. Definición del XML   [1]. Módulo. Preferencias   [2]. Contenido. Estilos (CSS) [3]. Código (JavaScript) [4]. Contenido web (XHTML) [5].
Plantilla base de  Mapplets <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?> <Module> <ModulePrefs title = &quot; Titulo &quot;   description = &quot; Descripcion &quot;   author = &quot; Autor &quot;   author_email = &quot; Correo del autor &quot;   height = &quot; Alto en pixels &quot;> </ModulePrefs> <Content type=&quot;html&quot;><![CDATA[ <style type=&quot;text/css&quot;> /* Contenido CSS */ </style> <script> /* Contenido JavaScript */ </script> <!-- Contenido XHTML --> ]]></Content> </Module> 1 2 3 4 5
Desarrollo de  MiPrimerMapplet A continuación se realizará el desarrollo de un primer  Mapplet  muy sencillo que servirá de introducción al lector respecto a la implementación de los mismos.  Cada uno de los pasos realizados serán descritos para contextualizar al lector sin embargo la descripción del API de  Google Maps  será profundizada en un capítulo posterior. El  Mapplet  a desarrollarse mostrará la información estática de tres ciudades colombianas, la cual podrá ser accedida desde el contexto web o desde el mapa mismo.
Funcionalidad de  MiPrimerMapplet El  Mapplet  de demostración presentará a tres ciudades del eje cafetero:  Armenia ,  Pereira  y  Manizales . Permitirá hacer clic sobre las marcas ubicadas en el mapa para obtener mayor información del municipio. Contendrá además una lista desplegable para la selección rápida de las ciudades cuya acción se verá inmediatamente reflejada en el mapa.
Funcionalidad de  MiPrimerMapplet
Estrategia de desarrollo Tal y como se mencionó en la  Plantilla de Mapplets , la implementación del código se va a realizar siguiendo estas etapas. 1. Preferencias. 2. Contenido. Este último seguirá el órden de implementación propuesto a continuación. 2.1 XHTML. 2.2 JavaScript. 2.3 CSS.
Estructura base <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?> <Module> <!-- 1 --> <Content type=&quot;html&quot;><![CDATA[ <style type=&quot;text/css&quot;> /* 2.3 */ </style> <script> /* 2.2 */ </script> <!-- 2.1 --> ]]></Content> </Module>
Preferencias [1] Indican la información general del  Mapplet . La característica ( feature )  sharedmap  permite el acceso al mapa desde el API JavaScript. <ModulePrefs  title  = &quot;Mi primer Mapplet&quot; description  = &quot;Este es mi primer Google Mapplet&quot; author  = &quot;Jorge Ivan Meza Martinez&quot; author_email = &quot;jimezam@gmail.com&quot; height  = &quot;200&quot;> <Require feature=&quot;sharedmap&quot; /> </ModulePrefs>
Contenido web [2.1] Mostrar el título, el subtítulo y una lista de selección con las ciudades involucradas en el sistema. Cuando se seleccione una ciudad de la lista ( onChange ) se deberá mostrar la información de la ciudad seleccionada (llamar a la función  seleccionarCiudad  con el índice de la selección).
Contenido web [2.1]
Contenido web [2.1] <div style='text-align: center;'> <h1> Ciudades del eje cafetero </h1> <h3> Seleccione una de las opciones </h3> </div> <div style=&quot;text-align: center;&quot;> <select id=' SelCiudad ' onchange=' seleccionarCiudad ( this.selectedIndex - 1 ) '> </select> </div> <br />
Implementación JavaScript [2.2] Esta sección define el comportamiento del  Mapplet . 2.2.1 Definición de los valores iniciales. 2.2.2 Acciones iniciales (función  iniciar ). 2.2.3 Creación de marcadores para las ciudades  (función  crearMarca ). 2.2.4 Activación de ciudades ante selección del  usuario (función  seleccionarCiudad ).
Valores iniciales [2.2.1] Crear la referencia al mapa y a establecer su configuración inicial. Establecer cual será la función que se ejecutará después de cargado el  Mapplet . Especificar la información relacionada con las ciudades a georreferenciar.
Valores iniciales [2.2.1] // Referencia al mapa gráfico // var mapa = new  GMap2 (); // Selección del tipo de mapa = cartografía normal // mapa. setMapType ( G_NORMAL_MAP ); // Ejecutar la función 'iniciar' tan pronto como se haya cargado el Mapplet // window.onload =  iniciar ;
Valores iniciales [2.2.1] // Hashtable con la información de las ciudades // var ciudades = new Array(); ciudades[ 0 ] =  { nombre: ' Armenia ', departamento: 'Quindio', latitud: 4.5338889, longitud: -75.6811111, url: 'http://www.alcaldiadearmenia.gov.co/', descripcion: 'Fundada el 14 de octubre de 1889 su población es de 309361 habitantes.' }; ciudades[ 1 ] =  { nombre: ' Pereira ', departamento: 'Risaralda', latitud: 4.8133333, longitud: -75.6961111, url: 'http://www.pereira.gov.co/', descripcion: 'Fundada el 30 de agosto de 1863, su población es de 488839 habitantes.' }; ciudades[ 2 ] =  { nombre: ' Manizales ', departamento: 'Caldas', latitud: 5.07, longitud: -75.5205556, url: 'http://www.alcaldiamanizales.gov.co/', descripcion: 'Fundada el 12 de octubre de 1849, su población es de 368124 habitantes.' };
Acciones iniciales [2.2.2] Asignarle valores al selector de ciudades ( selCiudad ). Establecer el centro ( center ) y el acercamiento ( zoom )  iniciales del mapa.
Acciones iniciales [2.2.2] /* Ejecuta las acciones necesarias para preparar el Mapplet antes de iniciar su ejecución */ function  iniciar () { // Implementación de la función ... }
Acciones iniciales [2.2.2] // Agrega el elemento 'sin selección' como elemento por defecto inicial // _gel(' SelCiudad ').innerHTML = &quot;<option value=''> --- Seleccione una ciudad --- </option>\n&quot;; // Por cada una de las ciudades agrega su respectiva opción // for(var indice in  ciudades ) { var ciudad =  ciudades [indice]; _gel(' SelCiudad ').innerHTML += &quot;<option value='&quot;+ciudad.nombre+ &quot;'>&quot; +      ciudad.nombre + &quot; (&quot; +      ciudad.departamento +     &quot;)&quot; + &quot;</option>\n&quot;;   // Crea el marcador (GMarker) que representa a cada ciudad //   ciudades [indice].marca =  crearMarca ( ciudades [indice]); // Agrega el marcador de la ciudad al mapa // mapa . addOverlay ( ciudades [indice].marca); }
Acciones iniciales [2.2.2] // Obtener la ubicación de la ciudad del medio y establecerla como centro del mapa // ciudades [1].marca. getPointAsync (function(ubicacion) { mapa . setCenter (ubicacion); // Establecer la altitud de la perspectiva del  mapa // mapa . setZoom (9); });
Creación de marcadores [2.2.3] Crear un marcador basado en la información de la ciudad suministrada. Asociar el evento de clic del marcador con el despliegue de su respectiva ventana de información.
Creación de marcadores [2.2.3] /* Crea un marcador basado en la información de la 'ciudad' suministrada y asocia su evento onClick con el despliegue de su ventana de información */ function  crearMarca (ciudad) { // Implementación de la función ... }
Creación de marcadores [2.2.3] // Crea un objeto GLatLng a partir de la posición de la ciudad // var posicion = new  GLatLng (ciudad.latitud, ciudad.longitud); // Establece un título para el marcador // var titulo = ciudad.nombre + &quot; / &quot; +   ciudad.departamento; // Crea un objeto GMarker basado en la información anterior // var marca = new  GMarker (posicion, {  title : titulo });
Creación de marcadores [2.2.3] // Define un comportamiento para el marcador ante el evento de click // GEvent.addListener (marca, &quot; click &quot;, function()  { // Establece el contenido HTML a ser mostrado var html =  &quot;<div style='background-color: #FDFDC4; padding: 10px;'>&quot; +  &quot;<div style='font-weight: bolder; font-size: 15px; text-align:  center; color: #FF8040;'>&quot; +  titulo  + &quot;</div>&quot; +  &quot;<div style='font-size: 11px; text-align: right; color:  #A5ABFC;'>Latitud: &quot; +  ciudad.latitud  + &quot;; Longitud: &quot; +  ciudad.longitud  + &quot;</div>&quot; +  &quot;<div style='font-size: 13px; padding-top: 5px; padding-bottom:  10px;'>&quot; +  ciudad.descripcion  + &quot;</div>&quot; +  &quot;<div style='font-size: 12px; color: #D0260E;'>Enlace: <a  href='&quot; +  ciudad.url  + &quot;' target='_blank'>&quot; +  ciudad.url  +  &quot;</a></div>&quot; +  &quot;</div>&quot;; marca. openInfoWindowHtml (html); }); return marca;
Creación de marcadores [2.2.3]
Activación de ciudades [2.2.4] Activar la ventana de información relacionada con el marcador de un municipio según el índice especificado. Esta función responderá al evento de selección ( onChange ) del selector de ciudades ( selCiudad ).
Activación de ciudades [2.2.4] /* Activa la ventana de información de una ciudad según el índice solicitado */ function  seleccionarCiudad (indice) { // Implementación de la función ... }
Activación de ciudades [2.2.4] // Si el indice es 'sin selección' es ignorado // if (indice == -1) return; // Simular el evento de click sobre la marca específica // GEvent.trigger (ciudades[indice].marca, &quot; click &quot;);
Presentación del contenido [2.3] Establecer las clases CSS con sus respectivos atributos para determinar la presentación de la información mostrada en el contenido web [2.1] del  Mapplet .
Presentación del contenido [2.3]
Presentación del contenido [2.3] body { background-color: #FCF6A5; padding: 15px; } /* Títulos del documento */ h1 { color: #FF8040; } h3 { color: #B8D00F; }
Presentación del contenido [2.3] /* Selectores de opciones */ SELECT { background-color: #F2F4FF; } #SELECT OPTION { background-color: #F2F4FF; }
Consolidar código fuente Almacenar el código fuente expuesto anteriormente en un archivo llamado  MiPrimerMapplet.xml  para ser publicado en Internet. A continuación se utilizará el servicio gratuito provisto por  GooglePages  para tal fin.  En caso de que el desarrollador haya contratado un servicio diferente remítase a las instrucciones de su utilización para la publicación del documento.
Publicación con GooglePages Consulte el siguiente sitio web y autentíquese con la información de su cuenta de  Google . http://pages.google.com/
Publicación con GooglePages Lea y acepte los términos y condiciones del servicio seleccionando la casilla de verificación  I have read and agree to these Terms and Conditions  en la parte inferior.  Presione el botón  I'm ready to create my pages  para continuar.
Publicación con GooglePages Haga clic sobre el enlace  Back to Site Manager  ubicado en la parte superior.
Publicación con GooglePages Seleccione el enlace  Upload  ubicado en la parte derecha. Presione el botón  Examinar , seleccione al archivo  MiPrimerMapplet.xml  y  presione el botón  Abrir .
Publicación con GooglePages El documento XML con el código del  Mapplet  puede ser consultado ahora desde Internet bajo la siguiente dirección. http:// USUARIO .googlepages.com/MiPrimerMapplet.xml Donde  USUARIO  corresponde con el nombre de usuario de la cuenta de  Google  que utilizó el desarrollador.  Para mi caso se encuentra publicado en la siguiente dirección. http://jimezam.googlepages.com/MiPrimerMapplet.xml
Agregar el  Mapplet  a Mis Mapas Acceda al Directorio de Mapas visitando la siguiente dirección. http://maps.google.com/ig/directory?synd=mpl&pid=mpl&features=sharedmap,geofeed Haga clic sobre el enlace  Añadir por URL  ubicado en la parte superior derecha.
Agregar el  Mapplet  a Mis Mapas Especifique la dirección del documento XML recién creado y subido a  Google Pages  y presione el botón  Añadir  para enviar la información. Si el procedimiento fue exitoso deberá haber obtenido un mensaje similar a este.
Agregar el  Mapplet  a Mis Mapas Visitando nuevamente la sección de  Creados por otros  de  Mis Mapas . http://maps.google.com/maps/mm Deberá encontrarse la referencia a  Mi primer Mapplet  recién agregada.
Agregar al Directorio de Mapas Para agregar el Mapplet al Directorio de Mapas se debe diligenciar la solicitud a  Google  siguiendo el enlace dispuesto a continuación. http://maps.google.com/ig/submit?synd=mpl&pid=mpl
Compartir el acceso al  Mapplet Para compartir el acceso al  Mapplet  con los distintos usuarios es necesario difundir su URL. La dirección de los  Mapplets  publicados sigue este formato: http://maps.google.com/ig/add?synd=mpl&pid=mpl&moduleurl= UBICACION_DEL_XML Donde  UBICACION_DEL_XML  es la ruta donde se publicó el código fuente del  Mapplet .
Compartir el acceso al  Mapplet Para mi caso específico,  MiPrimerMapplet  podrá consultarse en el siguiente enlace. http://maps.google.com/ig/add?synd=mpl&pid=mpl&moduleurl= http://jimezam.googlepages.com/MiPrimerMapplet.xml O de manera alternativa en la siguiente ubicación. http://maps.google.com/ig/add?synd=mpl&pid=mpl&moduleurl= http://demo.jorgeivanmeza.com/GMaps/MiPrimerMapplet/ultimo/MiPrimerMapplet.xml
Enlaces de interés Google Mapplets http://code.google.com/apis/maps/documentation/mapplets/index.html Google Mapplets API Reference http://code.google.com/apis/maps/documentation/mapplets/reference.html Google Maps – Mis Mapas http://www.google.com/maps/mm Google Directorio de Mapas http://maps.google.com/ig/directory?synd=mpl&pid=mpl&features=sharedmap,geofeed Google Pages http://pages.google.com/ Blog de Jorge Iván Meza Martínez http://www.jorgeivanmeza.com/ Educación – Mis Servicios http://educacion.misservicios.net/
Fin de la presentación. Creative Commons (CC)

Más contenido relacionado

PDF
Etiquetas en HTML
PDF
Tagshtml
DOCX
Tecnología de la información
PPTX
Programación avamzada 1
PPTX
DEBER N°2 blog blogger blogspot
PPTX
ETIQUETAS DE HTML
PDF
Etiquetas basicas producto 10
PPTX
Presentacióncss
Etiquetas en HTML
Tagshtml
Tecnología de la información
Programación avamzada 1
DEBER N°2 blog blogger blogspot
ETIQUETAS DE HTML
Etiquetas basicas producto 10
Presentacióncss

La actualidad más candente (7)

PDF
Vinculos tablas y frames
PPTX
Etquetas pabo
PPTX
Etquetas de html
PDF
Colegio nacional nicolás esguerra trabajo 2
DOCX
Comando básicos HTML.
Vinculos tablas y frames
Etquetas pabo
Etquetas de html
Colegio nacional nicolás esguerra trabajo 2
Comando básicos HTML.
Publicidad

Destacado (17)

PPTX
Unique Treats
PDF
ASHIANA MULBERRY SOHNA NEW LAUNCH
PPT
Eye catching graphics presentation
PDF
Harold_GolafaleCertificate2
ODP
Historia breve de un compromiso de seguridad - Instalación de RedHat 8.0
PDF
Point presse - Union des marchés de capitaux - Mai 2015
PPTX
bRAYA sAMANIEGO
PPS
PDF
Presentación grupo de investigación UAM, 201203
PPTX
Rapport annuel de la médiation - 2015 - AMF
PDF
Corporate
PDF
HSBC sia clsa sflockhart final
PPTX
OFC/NFOEC: Network Transformation
PPT
Prof Stefano Fiorucci - Nuclear receptors and lipid metabolism on FXR
PDF
Evidence based Practice in Emergency Medicine
PPTX
Shree Sai Pavers Presentation.pptx
DOCX
Unique Treats
ASHIANA MULBERRY SOHNA NEW LAUNCH
Eye catching graphics presentation
Harold_GolafaleCertificate2
Historia breve de un compromiso de seguridad - Instalación de RedHat 8.0
Point presse - Union des marchés de capitaux - Mai 2015
bRAYA sAMANIEGO
Presentación grupo de investigación UAM, 201203
Rapport annuel de la médiation - 2015 - AMF
Corporate
HSBC sia clsa sflockhart final
OFC/NFOEC: Network Transformation
Prof Stefano Fiorucci - Nuclear receptors and lipid metabolism on FXR
Evidence based Practice in Emergency Medicine
Shree Sai Pavers Presentation.pptx
Publicidad

Similar a Desarrollo de Mi Primer Mapplet (20)

PPT
Google maps by Jordan Diaz
PPTX
Web matrix y j querymobile
PPT
Truquitos html
PPT
Trucos html
PPT
Trucos Html
PPT
Symfony2: Interacción con CSS, JS y HTML5
PPTX
Google Maps
PPT
Encuentro Linux 2011
PPTX
Google maps para rails
PPT
Step by step developing with Facebook PHP API by Bruno Kamiche
DOCX
Cómo guardar las marcas de un mapa de google en un archivo xml y acceder a es...
PPT
Aplicacione para el trabajo del Community Manager
ODP
PPT
PHP
PPT
Blog
PPT
Html Y Javascript
PPT
Html Y Javascript
DOCX
Frames
DOCX
Air plane
PPT
Kml Diapositivas
Google maps by Jordan Diaz
Web matrix y j querymobile
Truquitos html
Trucos html
Trucos Html
Symfony2: Interacción con CSS, JS y HTML5
Google Maps
Encuentro Linux 2011
Google maps para rails
Step by step developing with Facebook PHP API by Bruno Kamiche
Cómo guardar las marcas de un mapa de google en un archivo xml y acceder a es...
Aplicacione para el trabajo del Community Manager
PHP
Blog
Html Y Javascript
Html Y Javascript
Frames
Air plane
Kml Diapositivas

Más de Jorge Iván Meza Martínez (16)

ODP
Presentación GridUAM 201112
ODP
Mercadeo en la era de la web 2.0, UniQuindio 20110517
PDF
GridUAM, presentación del proyecto - 20110128
ODT
Charla introducción a processing - 2010/09
ODP
Presentación introducción taller cluster 2010/07
ODP
Instalacion Básica De Drupal 6
ODP
Buscador de Talento Amigo - Presentación
ODP
Práctica: distribución de midlets mediante OTA con J2ME - parte I
ODP
Generación del midlet HolaMundo utilizando EclipseME
ODP
Generación del midlet HolaMundo utilizando las herramientas de línea de comando
ODP
Introducción a Kohana Framework
ODP
Generación del midlet HolaMundo utilizando el JWTK
ODP
Introducción a la plataforma J2ME
ODP
Disección del midlet Hola Mundo en J2ME
ODP
Introducción al desarrollo de Google Mapplets
ODP
Midlets con J2ME
Presentación GridUAM 201112
Mercadeo en la era de la web 2.0, UniQuindio 20110517
GridUAM, presentación del proyecto - 20110128
Charla introducción a processing - 2010/09
Presentación introducción taller cluster 2010/07
Instalacion Básica De Drupal 6
Buscador de Talento Amigo - Presentación
Práctica: distribución de midlets mediante OTA con J2ME - parte I
Generación del midlet HolaMundo utilizando EclipseME
Generación del midlet HolaMundo utilizando las herramientas de línea de comando
Introducción a Kohana Framework
Generación del midlet HolaMundo utilizando el JWTK
Introducción a la plataforma J2ME
Disección del midlet Hola Mundo en J2ME
Introducción al desarrollo de Google Mapplets
Midlets con J2ME

Desarrollo de Mi Primer Mapplet

  • 1. Desarrollo de Mi Primer Mapplet Jorge Iván Meza Martínez < [email_address] > http://www.jorgeivanmeza.com/ http://educacion.misservicios.net/
  • 2. Contenido Plantilla base de un Mapplet . Desarrollo e implementación de MiPrimerMapplet . Publicación de Mapplets con Google Pages . Agregar el Mapplet a Mis Mapas . Compartir el acceso a los Mapplets desarrollados . Enlaces de interés.
  • 3. Plantilla base de Mapplets En términos generales la implementación de un Mapplet es un archivo XML con la siguiente estructura. Definición del XML [1]. Módulo. Preferencias [2]. Contenido. Estilos (CSS) [3]. Código (JavaScript) [4]. Contenido web (XHTML) [5].
  • 4. Plantilla base de Mapplets <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?> <Module> <ModulePrefs title = &quot; Titulo &quot; description = &quot; Descripcion &quot; author = &quot; Autor &quot; author_email = &quot; Correo del autor &quot; height = &quot; Alto en pixels &quot;> </ModulePrefs> <Content type=&quot;html&quot;><![CDATA[ <style type=&quot;text/css&quot;> /* Contenido CSS */ </style> <script> /* Contenido JavaScript */ </script> <!-- Contenido XHTML --> ]]></Content> </Module> 1 2 3 4 5
  • 5. Desarrollo de MiPrimerMapplet A continuación se realizará el desarrollo de un primer Mapplet muy sencillo que servirá de introducción al lector respecto a la implementación de los mismos. Cada uno de los pasos realizados serán descritos para contextualizar al lector sin embargo la descripción del API de Google Maps será profundizada en un capítulo posterior. El Mapplet a desarrollarse mostrará la información estática de tres ciudades colombianas, la cual podrá ser accedida desde el contexto web o desde el mapa mismo.
  • 6. Funcionalidad de MiPrimerMapplet El Mapplet de demostración presentará a tres ciudades del eje cafetero: Armenia , Pereira y Manizales . Permitirá hacer clic sobre las marcas ubicadas en el mapa para obtener mayor información del municipio. Contendrá además una lista desplegable para la selección rápida de las ciudades cuya acción se verá inmediatamente reflejada en el mapa.
  • 7. Funcionalidad de MiPrimerMapplet
  • 8. Estrategia de desarrollo Tal y como se mencionó en la Plantilla de Mapplets , la implementación del código se va a realizar siguiendo estas etapas. 1. Preferencias. 2. Contenido. Este último seguirá el órden de implementación propuesto a continuación. 2.1 XHTML. 2.2 JavaScript. 2.3 CSS.
  • 9. Estructura base <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?> <Module> <!-- 1 --> <Content type=&quot;html&quot;><![CDATA[ <style type=&quot;text/css&quot;> /* 2.3 */ </style> <script> /* 2.2 */ </script> <!-- 2.1 --> ]]></Content> </Module>
  • 10. Preferencias [1] Indican la información general del Mapplet . La característica ( feature ) sharedmap permite el acceso al mapa desde el API JavaScript. <ModulePrefs title = &quot;Mi primer Mapplet&quot; description = &quot;Este es mi primer Google Mapplet&quot; author = &quot;Jorge Ivan Meza Martinez&quot; author_email = &quot;jimezam@gmail.com&quot; height = &quot;200&quot;> <Require feature=&quot;sharedmap&quot; /> </ModulePrefs>
  • 11. Contenido web [2.1] Mostrar el título, el subtítulo y una lista de selección con las ciudades involucradas en el sistema. Cuando se seleccione una ciudad de la lista ( onChange ) se deberá mostrar la información de la ciudad seleccionada (llamar a la función seleccionarCiudad con el índice de la selección).
  • 13. Contenido web [2.1] <div style='text-align: center;'> <h1> Ciudades del eje cafetero </h1> <h3> Seleccione una de las opciones </h3> </div> <div style=&quot;text-align: center;&quot;> <select id=' SelCiudad ' onchange=' seleccionarCiudad ( this.selectedIndex - 1 ) '> </select> </div> <br />
  • 14. Implementación JavaScript [2.2] Esta sección define el comportamiento del Mapplet . 2.2.1 Definición de los valores iniciales. 2.2.2 Acciones iniciales (función iniciar ). 2.2.3 Creación de marcadores para las ciudades (función crearMarca ). 2.2.4 Activación de ciudades ante selección del usuario (función seleccionarCiudad ).
  • 15. Valores iniciales [2.2.1] Crear la referencia al mapa y a establecer su configuración inicial. Establecer cual será la función que se ejecutará después de cargado el Mapplet . Especificar la información relacionada con las ciudades a georreferenciar.
  • 16. Valores iniciales [2.2.1] // Referencia al mapa gráfico // var mapa = new GMap2 (); // Selección del tipo de mapa = cartografía normal // mapa. setMapType ( G_NORMAL_MAP ); // Ejecutar la función 'iniciar' tan pronto como se haya cargado el Mapplet // window.onload = iniciar ;
  • 17. Valores iniciales [2.2.1] // Hashtable con la información de las ciudades // var ciudades = new Array(); ciudades[ 0 ] = { nombre: ' Armenia ', departamento: 'Quindio', latitud: 4.5338889, longitud: -75.6811111, url: 'http://www.alcaldiadearmenia.gov.co/', descripcion: 'Fundada el 14 de octubre de 1889 su población es de 309361 habitantes.' }; ciudades[ 1 ] = { nombre: ' Pereira ', departamento: 'Risaralda', latitud: 4.8133333, longitud: -75.6961111, url: 'http://www.pereira.gov.co/', descripcion: 'Fundada el 30 de agosto de 1863, su población es de 488839 habitantes.' }; ciudades[ 2 ] = { nombre: ' Manizales ', departamento: 'Caldas', latitud: 5.07, longitud: -75.5205556, url: 'http://www.alcaldiamanizales.gov.co/', descripcion: 'Fundada el 12 de octubre de 1849, su población es de 368124 habitantes.' };
  • 18. Acciones iniciales [2.2.2] Asignarle valores al selector de ciudades ( selCiudad ). Establecer el centro ( center ) y el acercamiento ( zoom ) iniciales del mapa.
  • 19. Acciones iniciales [2.2.2] /* Ejecuta las acciones necesarias para preparar el Mapplet antes de iniciar su ejecución */ function iniciar () { // Implementación de la función ... }
  • 20. Acciones iniciales [2.2.2] // Agrega el elemento 'sin selección' como elemento por defecto inicial // _gel(' SelCiudad ').innerHTML = &quot;<option value=''> --- Seleccione una ciudad --- </option>\n&quot;; // Por cada una de las ciudades agrega su respectiva opción // for(var indice in ciudades ) { var ciudad = ciudades [indice]; _gel(' SelCiudad ').innerHTML += &quot;<option value='&quot;+ciudad.nombre+ &quot;'>&quot; + ciudad.nombre + &quot; (&quot; + ciudad.departamento + &quot;)&quot; + &quot;</option>\n&quot;; // Crea el marcador (GMarker) que representa a cada ciudad // ciudades [indice].marca = crearMarca ( ciudades [indice]); // Agrega el marcador de la ciudad al mapa // mapa . addOverlay ( ciudades [indice].marca); }
  • 21. Acciones iniciales [2.2.2] // Obtener la ubicación de la ciudad del medio y establecerla como centro del mapa // ciudades [1].marca. getPointAsync (function(ubicacion) { mapa . setCenter (ubicacion); // Establecer la altitud de la perspectiva del mapa // mapa . setZoom (9); });
  • 22. Creación de marcadores [2.2.3] Crear un marcador basado en la información de la ciudad suministrada. Asociar el evento de clic del marcador con el despliegue de su respectiva ventana de información.
  • 23. Creación de marcadores [2.2.3] /* Crea un marcador basado en la información de la 'ciudad' suministrada y asocia su evento onClick con el despliegue de su ventana de información */ function crearMarca (ciudad) { // Implementación de la función ... }
  • 24. Creación de marcadores [2.2.3] // Crea un objeto GLatLng a partir de la posición de la ciudad // var posicion = new GLatLng (ciudad.latitud, ciudad.longitud); // Establece un título para el marcador // var titulo = ciudad.nombre + &quot; / &quot; + ciudad.departamento; // Crea un objeto GMarker basado en la información anterior // var marca = new GMarker (posicion, { title : titulo });
  • 25. Creación de marcadores [2.2.3] // Define un comportamiento para el marcador ante el evento de click // GEvent.addListener (marca, &quot; click &quot;, function() { // Establece el contenido HTML a ser mostrado var html = &quot;<div style='background-color: #FDFDC4; padding: 10px;'>&quot; + &quot;<div style='font-weight: bolder; font-size: 15px; text-align: center; color: #FF8040;'>&quot; + titulo + &quot;</div>&quot; + &quot;<div style='font-size: 11px; text-align: right; color: #A5ABFC;'>Latitud: &quot; + ciudad.latitud + &quot;; Longitud: &quot; + ciudad.longitud + &quot;</div>&quot; + &quot;<div style='font-size: 13px; padding-top: 5px; padding-bottom: 10px;'>&quot; + ciudad.descripcion + &quot;</div>&quot; + &quot;<div style='font-size: 12px; color: #D0260E;'>Enlace: <a href='&quot; + ciudad.url + &quot;' target='_blank'>&quot; + ciudad.url + &quot;</a></div>&quot; + &quot;</div>&quot;; marca. openInfoWindowHtml (html); }); return marca;
  • 27. Activación de ciudades [2.2.4] Activar la ventana de información relacionada con el marcador de un municipio según el índice especificado. Esta función responderá al evento de selección ( onChange ) del selector de ciudades ( selCiudad ).
  • 28. Activación de ciudades [2.2.4] /* Activa la ventana de información de una ciudad según el índice solicitado */ function seleccionarCiudad (indice) { // Implementación de la función ... }
  • 29. Activación de ciudades [2.2.4] // Si el indice es 'sin selección' es ignorado // if (indice == -1) return; // Simular el evento de click sobre la marca específica // GEvent.trigger (ciudades[indice].marca, &quot; click &quot;);
  • 30. Presentación del contenido [2.3] Establecer las clases CSS con sus respectivos atributos para determinar la presentación de la información mostrada en el contenido web [2.1] del Mapplet .
  • 32. Presentación del contenido [2.3] body { background-color: #FCF6A5; padding: 15px; } /* Títulos del documento */ h1 { color: #FF8040; } h3 { color: #B8D00F; }
  • 33. Presentación del contenido [2.3] /* Selectores de opciones */ SELECT { background-color: #F2F4FF; } #SELECT OPTION { background-color: #F2F4FF; }
  • 34. Consolidar código fuente Almacenar el código fuente expuesto anteriormente en un archivo llamado MiPrimerMapplet.xml para ser publicado en Internet. A continuación se utilizará el servicio gratuito provisto por GooglePages para tal fin. En caso de que el desarrollador haya contratado un servicio diferente remítase a las instrucciones de su utilización para la publicación del documento.
  • 35. Publicación con GooglePages Consulte el siguiente sitio web y autentíquese con la información de su cuenta de Google . http://pages.google.com/
  • 36. Publicación con GooglePages Lea y acepte los términos y condiciones del servicio seleccionando la casilla de verificación I have read and agree to these Terms and Conditions en la parte inferior. Presione el botón I'm ready to create my pages para continuar.
  • 37. Publicación con GooglePages Haga clic sobre el enlace Back to Site Manager ubicado en la parte superior.
  • 38. Publicación con GooglePages Seleccione el enlace Upload ubicado en la parte derecha. Presione el botón Examinar , seleccione al archivo MiPrimerMapplet.xml y presione el botón Abrir .
  • 39. Publicación con GooglePages El documento XML con el código del Mapplet puede ser consultado ahora desde Internet bajo la siguiente dirección. http:// USUARIO .googlepages.com/MiPrimerMapplet.xml Donde USUARIO corresponde con el nombre de usuario de la cuenta de Google que utilizó el desarrollador. Para mi caso se encuentra publicado en la siguiente dirección. http://jimezam.googlepages.com/MiPrimerMapplet.xml
  • 40. Agregar el Mapplet a Mis Mapas Acceda al Directorio de Mapas visitando la siguiente dirección. http://maps.google.com/ig/directory?synd=mpl&pid=mpl&features=sharedmap,geofeed Haga clic sobre el enlace Añadir por URL ubicado en la parte superior derecha.
  • 41. Agregar el Mapplet a Mis Mapas Especifique la dirección del documento XML recién creado y subido a Google Pages y presione el botón Añadir para enviar la información. Si el procedimiento fue exitoso deberá haber obtenido un mensaje similar a este.
  • 42. Agregar el Mapplet a Mis Mapas Visitando nuevamente la sección de Creados por otros de Mis Mapas . http://maps.google.com/maps/mm Deberá encontrarse la referencia a Mi primer Mapplet recién agregada.
  • 43. Agregar al Directorio de Mapas Para agregar el Mapplet al Directorio de Mapas se debe diligenciar la solicitud a Google siguiendo el enlace dispuesto a continuación. http://maps.google.com/ig/submit?synd=mpl&pid=mpl
  • 44. Compartir el acceso al Mapplet Para compartir el acceso al Mapplet con los distintos usuarios es necesario difundir su URL. La dirección de los Mapplets publicados sigue este formato: http://maps.google.com/ig/add?synd=mpl&pid=mpl&moduleurl= UBICACION_DEL_XML Donde UBICACION_DEL_XML es la ruta donde se publicó el código fuente del Mapplet .
  • 45. Compartir el acceso al Mapplet Para mi caso específico, MiPrimerMapplet podrá consultarse en el siguiente enlace. http://maps.google.com/ig/add?synd=mpl&pid=mpl&moduleurl= http://jimezam.googlepages.com/MiPrimerMapplet.xml O de manera alternativa en la siguiente ubicación. http://maps.google.com/ig/add?synd=mpl&pid=mpl&moduleurl= http://demo.jorgeivanmeza.com/GMaps/MiPrimerMapplet/ultimo/MiPrimerMapplet.xml
  • 46. Enlaces de interés Google Mapplets http://code.google.com/apis/maps/documentation/mapplets/index.html Google Mapplets API Reference http://code.google.com/apis/maps/documentation/mapplets/reference.html Google Maps – Mis Mapas http://www.google.com/maps/mm Google Directorio de Mapas http://maps.google.com/ig/directory?synd=mpl&pid=mpl&features=sharedmap,geofeed Google Pages http://pages.google.com/ Blog de Jorge Iván Meza Martínez http://www.jorgeivanmeza.com/ Educación – Mis Servicios http://educacion.misservicios.net/
  • 47. Fin de la presentación. Creative Commons (CC)