AStar works on the basis of **straight** lines, AFAIK.

In my case, we have geocoordinates and I can get the straight line distance between the waypoints. But I am wondering how approximate will that be? The actual distance "by road", which actually matters can be different. 

Example.
Assuming A and B are on the same plane, and will be equidistant from the goal point, if we consider a straight line between A and the goal point and, B and the goal point.

The distance "by road" between A and the goal point may be greater or lesser than B. But because the AStar works on the basis of straight lines, it will return both the routes as the shortest.

Is that correct? 

If yes, then which algo should be considered , if we want the results on the basis of actual distance in Km/m?

If no, then what's the point that I am missing?