This post describes step by step the methods used to implement the A* search algorithm. To illustrate the path finding problem and how it can be solved using A* I decided to use the Romania map (with the same Cities I used in Breadth and depth first search series of posts). Now I modified it adding more connections between the cities so that we have more fun while debugging the code. This time I decided to get the real values of latitude and longitude for the cities shown in the Romania map. See how a graph of cities is assembled using the real geocode values for latitude and longitude using Google Maps service.