Approaching this problem as 'navigating around X' is a wrong way to go about it. Once you solve the problem of navigating a gas station, the next you will face is to drive around a school, or a lane where kids are playing. The list would never end.
The idea must be to come up with a generic algorithm that solves these problems as a whole. Not one specific case at a time.
The gas station is a special case though, because the objective isn't just travel from here to there. Finding a parking space is somewhat similar kind of special case, where there is a specific objective.
The idea must be to come up with a generic algorithm that solves these problems as a whole. Not one specific case at a time.