var myCounter;
var map;
var scans;
var start;
var userStart;
var chart;
var markers = [];
var label = new Array();
var counts = new Array();
var i = 0;
var infoWindow = new google.maps.InfoWindow({
content: "sdsd"
});
function initialize() {
$.post('process/map/latest.php',function(data){ // 200 derniers scans
scans = data;
showFirstMarkers();
},"json")
$.post("process/map/stats.php",function(data){ // nb de scans de http://codactiv.com/stats.txt
start = data;
myCounter = new flipCounter("counter", {value : parseInt(start),inc: 0});
$.post("process/map/latestScans.php","nb=0",function(data){ // dernier scans de la page
userStart = data.length;
handleCounter();
},"json")
});
$.post("process/map/chart.php",function(data){ // stats du graph
for(y in data){
label.push(data[y].date);
counts.push(data[y].count);
}
initChart();
},"json");
var center = new google.maps.LatLng(20, 0);
var options = {
'zoom': 2,
'center': center,
'mapTypeId': google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map"), options);
google.maps.visualRefresh = true;
var markerCluster = new MarkerClusterer(map, markers);
}
google.maps.event.addDomListener(window, 'load', initialize);
function showFirstMarkers(){
for(z=0;z && z<100;z++){
var contentString = "Scanné par un "+scans[z].o+" ("+scans[z].r+")"+"
A proximité de "+scans[z].a;
latLng = new google.maps.LatLng(parseFloat(scans[z].l), parseFloat(scans[z].lo));
var marker = new google.maps.Marker(
{
'position': latLng,map:map,
'os' : scans[z].o,
'add' : scans[z].a+", "+scans[z].c,
'r': scans[z].r,
'icon':'img/marker.png'
});
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent( "Scanné par un "+this.os+" ("+this.r+")"+"
A proximité de "+this.add);
infoWindow.open(map,this);
});
markers.push(marker);
}
}
function handleCounter(){
$.post("process/map/latestScans.php","nb="+userStart,function(data){ // dernier scans de la page
if(data){
console.log(data);
userStart+=data.length;
for(var x=0;x A proximité de "+this.add);
infoWindow.open(map,this);
});
}
}
},"json");
$.post("process/map/stats.php",function(data){ // nb de scans de http://codactiv.com/stats.txt
if(data > 0){
var y = data - start;
for(y;y>0;y--)
{
if (scans[i])
{
latLng = new google.maps.LatLng(parseFloat(scans[i].l), parseFloat(scans[i].lo));
var marker = new google.maps.Marker(
{
'position': latLng,map:map,animation: google.maps.Animation.DROP,
'os' : scans[i].o,
'add' : scans[i].a+", "+scans[i].c,
'r': scans[i].r,
'icon':'img/marker.png'
}
);
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent( "Scanné par un "+this.os+" ("+this.r+")"+"
A proximité de "+this.add);
infoWindow.open(map,this);
});
markers.push(marker);
counts[6] += 1;
}
else
break;
i++;
}
chart.series[0].setData(counts,true);
start = data;
myCounter.incrementTo(parseInt(start),1,400);
}
setTimeout(handleCounter,1000);
})
}
function initChart(){
var options = {
chart: {
renderTo: 'stats-graph',
type: 'area',
backgroundColor : "#f9f9f6"
},
legend: {
enabled:false
},
tooltip: {
enabled:false
},
title: {
text: null
},
xAxis: {
categories: label
},
yAxis: {
title: {
text: null
}
},
plotOptions: {
series: {
lineColor: '#afd0d8',
fillColor: {
linearGradient: [0, 0, 0, 300],
stops: [
[0, 'rgb(235, 242, 239)'],
[1, 'rgb(255,255,255)']
]
}
}
},
series: [{
data: counts,
marker: {
symbol: 'url(img/char-marker.jpg)'
}
}]
};
chart = new Highcharts.Chart(options);
}