Dijkstra map

This is an assignment for an algorithm course in uni. The course focuses on optimizing algorithms. This is a Java project that requires the algorithm to read a file with points that represent places (cities) and what other places they are connected with, then show them as points (vertex) and roads (edges) on an interface. When clicking on a city and any other city the algorithm should highlight the shortest path taken from that city to the other using Dijkstra, and calculate that path’s distance and show it to the user with any other info needed.
attached is a file with a pdf that explains the assignment in details, please check it out.
In short we need to create a map that the user can interact with to find the best shortest path.
because this is an algorithm assignment please focus on commenting on the code, and if you can explain the algorithm you decide to use for me.