Football League tables were the first I considered using to get a real picture of how well each team was doing. Originally, I used post-it notes along the wall of my office

In previous encounters with Google Maps, I have used the default placemarkers and set the mouseover to display appropriate information. The difference here is that football teams all have club badges which make great map icons and don't rely on a mouseover to see which team is which. There are many sources of these icon but the ones that work best are the ones with a transparency layer. Wikipedia has a great collection of these. Without a transparency layer, all the icons overlap a great deal and when teams are close together, this obscures information. Unfortunatly, no club icon is perfect and if the main icon colour matches the backgound (for example, blue over the sea) it's had to see but the transparency is still a good compromise.

The output format for Google Maps is a JavaScript file that conforms to the Google Maps API standard. Although this is simple in its construction, it becomes quite large when all 20 or 24 teams are included along with several sections of track for relegation, playoff regions, etc.


A quick search of the web shows that there are hundreds of sources of football league table information. Almost all these are designed for display on web pages and not for incorporating into applications where the information can be accessed easily. Although it is possible to parse web page tables, these often change as the web sites owners rebrand the site. The easiest way to parse the data would be from an XML source. Unfortunately, there don't seem to be many of those around however, I found a good one at Football Web Pages.


Although the source information I use is available on public web sites so in the public domain, I still like to obtain permission to use it. The source information for the tables comes from Football Web Pages. I have email confirmation from the site that I can use their XML information in my application that generates the race files.

To show the teams on a race track the number of points a team has gained corresponds to a distance between the start and end positions of the race track. This means you have to determine the number of points that corresponds to the finish line, that is, the maximum number of points that any team can achieve. The theoretical maximum number of points a team could score is larger than in reality (138 points theoretical for the Premier League). Looking back through the history of all Engligh football leagues, very rarely has a team scored more than 100 points. For this reason, the finish flag is set at about 100 points but this is compared to the theoretical maximum each time the utility runs. As the season progresses, if the theoretical maximum that any team can achieve falls below the initial 100 points, the finish flag points are set to this lower value. There is a remote possibiliy that one team might end the season with over 100 points but that will appear on the map as a team badge passing the finish flag, which is what happens in a real race. As it varies for each league, the values are loaded from a properties file. This is explained in more detail on the values page.

Each team plays a match approximately twice per week but not all teams play on the same day. Most teams play on Saturdays with a few that play on Sunday. Mid-week games are usually on a Tuesday or Wednesday and some televised games are played on a Friday. During the season, this utility runs at 3pm every day.