Descripción del problema
analisis del problema
Diseño
Screenshots
Codigo fuente
Pruebas
Contacto
DEMP
Donde esta mi pedido
Diseño



Este proyecto se dividio en 2 areas de desarrollo importantes. Estas areas fueron:

-. Mapa.
-. Interfaz Grafica.

El Area de desarrollo mapa se encargo de todas las operaciones relacionadas con mapa. Las
Clases resultantes de esta area deben ser capases de entregar un mapa, en el cual deben estar
indicadas las direcciones que el usuario le entregue.

El Area de desarrolo Interfaz Grafica se encargo de generar las clases necesarias para el manejo
grafico de la aplicacion

A continuacion se mostraran las tarjetas crc utilizadas para el desarrollo:
























































A continuacion se muestran lso resultados finales del desarrollo y como se llegaron a estos.

Mapa:

En esta area se crearon 3 clases map,GoogleMapsTileProvider y GGcoder. La clase map es la encargada
realizar todas las operaciones necesarias para el correcto uso de un mapa y es ayudada por GoogleMapsTileProvider
y GGcoder las cuales se encargan de formatear el encabezado http y convertir las direcciones en coordenas
respectivamente.
Para la obtencion del mapa se intalo el paquete swingx el cual contiene la clases de tipo JXMAPKIT. La cual
para obtener el mapa engana al servidor enviando un encabezado http, genereado por GoogleMapsTileProvider,
al cual el servidor de google responde con el mapa. Luego convertimos las direcciones con GGcoder en coordenadas.
GGcoder toma un string que contenga una direccion valida y se la envia al servidor de geogoogle el cual responde
con coordenadas geograficas respectivas.

Interfaz Grafica:

Inicialmente el programa se diseña para que como requisito básico muestre un mapa, en el sector derecho de un frame, y en
el sector izquierdo de el mismo muestre una lista de direcciones, para ello se crea la clase SplitFrame, cada
dirección al ser accesada con un doble click debe centrar el mapa a la dirección que indica la lista. Para ello se crea un
panel dividido mediante un objeto SplitPanel, luego se crea un objeto Map y se ingresa al lado derecho del panel.
Luego de este paso es necesario crear la lista de direcciones que se ingresara en el lado izquierdo del panel,
para ello se usa un arreglo de strings que luego llama al objeto Sort para ordenarlos de menor a mayor
distancia de un centro elegido previamente, y se crea una lista con un objeto JList que se inicializa con el nombre del
arreglo, de esta forma, se crea una JList con los nombres ingresados, finalmente se ingresa la Lista al lado izquierdo del
Panel. Además se desea que el programa contenga una pantalla inicial que muestre a que zona se desea acceder, por
lo tanto el Panel dividido debe contener un boton para volver atrás, por ello, se crea un nuevo panel dividido,
pero ahora con orientación vertical, de esta forma, se agrega el panel dividido original, en la parte superior y panel con
un botón para volver atras en la parte inferior de la pantalla.
La creación de la pantalla inicial es realizada mediante la clase Principal, esta ventana consta de dos botones, uno que crea el SplitFrame en el centro de Valparaíso y el otro que crea el SplitFrame en el centro de Vina del Mar, además posee una imagen de las zonas a las que corresponde cada sector.

Diagrama UML:



Descripción del problemaanalisis del problemaDiseñoScreenshotsCodigo fuentePruebasContacto
Diseño y programacion orientada a objetos