The Google Maps API is an amazingly powerful and easy tool available for free use.  After getting signed up for API use, Google Maps can be interacted with via simple JavaScript to add markers, lines, and more to maps.

As a means of visualizing a Geocaching Trackable race, I developed a program which would download and parse trackable data from geocaching.com and then visualize the current location of each trackable, in relation to the starting point, on a Google Map.  I then took things further and developed a system by which the points could be moved around the map to simulate the path each racer took over time.  All of the tracks were combined in a single map to visualize the entire race over time.