Right now I'm experimenting with routing and map drawing based on tiger/line files.

Suspend the player while computing routes? As long as you compute a whole route one time, this doesn't seem like a huge or unjustified sacrifice.