Fotballklubber i Europa
Illustrasjonene nedenfor er øyeblikksbilder fra april 2013.
JSON
Data om klubber og arenaer er samlet sammen fra klubbenes og arenaenes hjemmesider og fra Wikipedia. Det er en overkommelig jobb å samle/skrape dette i CSV-filer og så produsere JSON-filer.
Utdrag fra en JSON-fil som viser klubber i SpanskPrimera division:
var teamsES1={"tlist":[
{"ID" : "ES0001","Name": "Barcelona FC",
"Level":"1",
"Logo":"ES0001.png",
"Wiki":"http://en.wikipedia.org/wiki/Barcelona_FC"},
{"ID" : "ES0002","Name": "Club Atlético de Madrid",
"Level":"1",
"Logo":"ES0002.png",
"Wiki":"http://en.wikipedia.org/wiki/Club_Atl%C3%A9tico_de_Madrid"},
...]};
Tilsvarende som viser arenaer i Spansk Primera division:
var arenasES1={"alist":[
{"Name" : "Camp Nou",
"Lat":"41.3808333", "Lng":"2.12277777",
"Teamlist":"ES0001",
"Wiki":"http://en.wikipedia.org/wiki/Camp_nou",
"Capacity":"99000"},
{"Name" : "Vicente Calderón Stadium",
"Lat":"40.4017194","Lng":"-3.7206055",
"Teamlist":"ES0002",
"Wiki":"http://en.wikipedia.org/wiki/Vicente_Calder%C3%B3n_Stadium",
"Capacity":"55000"},
...
]};
Alle data som beskriver lag og arenaer lastes opp når websiden lastes. JSON-dataene inkluderes som i <script> - tagger. Det er altså ikke behov for serves-access når websiden første er lastet. I øyeblikket er de to øverste nivåene i Norge, Sverige, Danmark, England, Nederland, Frankrike, Tyskland, Spania og Portugal tatt med.
Kart
Kartet er basert på Googles Map API. Javascript kode som viser kart (utdrag):
// make markers for arenas
function makeMarker(arena,map){
var lat=parseFloat(arena.Lat);
var lng=parseFloat(arena.Lng);
latmin=Math.min(latmin,lat);
latmax=Math.max(latmax,lat);
lngmin=Math.min(lngmin,lng);
lngmax=Math.max(lngmax,lng);
var latlng=new google.maps.LatLng(lat,lng);
mrk=new google.maps.Marker({
position: latlng,
map: map,
visible:true,
title:arena.Name,
});
google.maps.event.addListener(mrk, 'click', function(event) {
curArena=arena;
hiliteArena();
hiliteTeamsFromArenaSelection();
});
return mrk;
}
// Viser fram et kart avgrenset av arenaene
function visKart()
{
Markerlist=[];
resetBounds();
// plasser kartet i elementet med ID: map_canvas
map = new google.maps.Map(document.getElementById("map_canvas"),{
mapTypeId: google.maps.MapTypeId.HYBRID
});
for(ix=0;ix<arenaData.length;ix++){
Markerlist.push(makeMarker(arenaData[ix],map));
}
mbounds=new google.maps.LatLngBounds(new google.maps.LatLng(latmin,lngmin),
new google.maps.LatLng(latmax,lngmax));
map.fitBounds(mbounds);
}
Widgets
Siden inneholder også den oppdaterte tabellen for den valgte ligaen. Denne komponenten leveres av SoccerWay [2] som har en masse data om fotball i hele verden. De tilbyr widgets som viser oppdaterte tabeller. En slik inkluderes på siden med en enkel iframe.
<iframe src="http://widgets.soccerway.com/widget/free...." width="350" height="500" scrolling="no" frameborder="0" marginwidth="0" marginheight="0"> </iframe>
En rekke spesifikasjoner er erstattet med ..... Soccerway har et verktøy der du kan spesifisere en rekke ting når du setter opp importformatet, vilken liga du vil ha, farger etc.
Firefox - GoogleMaps
Det er et problem med Mozilla Firefox og GoogleMaps som av og til fører til at Mozilla henger i en eller annen kommunikasjonsmodus med Google. Flere har rapportert dette problemet uten at jeg har funnet noen generell løsning. I det refererte eksempelet er dette foreløpig løst ved å anbefale en reload. Ikke ideelt, men det virker.
var browser=navigator.userAgent;
if(browser.indexOf("Firefox")!=-1)
{
document.getElementById("FF-message").innerHTML=
"If not showing team names, press: ctrl r";
}