¿Cómo programarías una aplicación de transporte público para Android que te diga cómo llegar desde AB?

¿Qué hay de tener una matriz bidimensional para cada línea? Cada columna puede ser una parada, y cada fila es un tranvía particular (como en el vehículo, no en la línea). Por lo tanto, tomaría una columna en particular y bajaría hasta obtener una hora posterior a la hora actual; luego, vas N columnas a la derecha dentro de esa fila, con N = el número de paradas a su destino. ese valor sería la hora de llegada.

Por supuesto, podrías hacer algo de magia orientada a objetos con esto, hacer que cada línea de tranvía sea un objeto que contenga una serie de paradas, y cada parada podría ser un objeto que vincule varias líneas de tranvía. Cada parada también podría decir una ubicación (latitud y latitud) y luego podría encontrar paradas a poca distancia, etc.

Pero una forma menos OOP también podría funcionar, y puede ser más fácil; Como cada columna de cada matriz de líneas de tranvía es una parada, a la que se hace referencia con un índice, puede hacer un hash para cada parada con las claves como líneas de tranvía y los valores como el índice en la matriz de planificación de esa línea.

Perdón si digo lo obvio, pero ¿sabes que Google Maps tiene esta funcionalidad, al menos en las ciudades más grandes? http://www.google.com/intl/en/la

Además, hay otros sitios como este: http: //tripplanner.transit.511.o