So much fun! We made a similar visualization in Python, using Dijkstra's algorithm to find shortest paths in Paris:
http://nbviewer.jupyter.org/github/jilljenn/tryalgo/blob/mas...
Also for trying different greedy routing algorithms. Folium helps a lot: http://nbviewer.jupyter.org/github/jilljenn/128algos/blob/ma...
Disclaimer: I'm a co-author of the tryalgo package.