Widget:NuageUsers

dessine un nuage des utilisateurs

(en cours de dev)


utile

JSON


voir Widget:ListeUsers





<script > var donnees; //appel de la liste des utilisateurs $.getJSON("Sp%C3%A9cial:Ask/-5B-5BCategory:Utilisateur-5D-5D/-3F-23-2D/-3FTh%C3%A8me/limit%3D150/searchlabel%3D/format%3Djson",

 function(data) {

donnees=data.items;

   $.each(data.items, function(i,item){
     
    // L.marker([item.latt, item.long]).addTo(cartofab).bindPopup("<a href="+item.site+" target=\"_blank\">"+item.label+"</a>
"+item.intitulé+"
"+item.structures); //alert( item.thème);


   });
document.getElementById("debug").innerHTML = "Il ya actuellement "+data.items.length+" utilisateurs renseignés sur cette page";
 });


</script>


<script src="extensions/processingjs/processing-1.3.6.min.js"></script>



<script type="text/processing" target="processing-canvas-nuage"> float x[] = new float[0]; float y[] = new float[0]; float vitesseX[] = new float[0]; float vitesseY[] = new float[0]; float directionX[] = new float[0]; float directionY[] = new float[0];

void setup(){ size(600,400);

if(donnees!=null){

   x = expand(x, donnees.length);
   y = expand(y, donnees.length);
   vitesseX = expand(vitesseX, donnees.length);
   vitesseY = expand(vitesseY, donnees.length);
   directionX = expand(directionX, donnees.length);
   directionY = expand(directionY, donnees.length);
   for (int i=0; i<donnees.length; i++) {
     x[i] = random(width);
     y[i] = random(height);
     vitesseX[i] = random(-2, 2);
     vitesseY[i] = random(-2, 2);
     directionX[i] = 1;
     directionY[i] = 1;
  }
}

}

void draw(){

background(2);

//text(donnees[0].thème,100,100);

if(donnees!=null){

//println(donnees.length);

 for(int i=0; i<donnees.length; i++){
   String [] s = split(donnees[i].label, "Utilisateur:");


   text(s[1], x[i], y[i]);
   if(x[i] < 0 || x[i] > width){
     directionX[i] *= -1;
   }
   if(y[i] < 0 || y[i] > height){
     directionY[i] *= -1;
   }


   x[i] += vitesseX[i] * directionX[i];
   y[i] += vitesseY[i] * directionY[i];
 }

//text(donnees[0].label,mouseX,mouseY+20); //text(donnees[0].thème,mouseX,mouseY);

//println(donnees.items[0].label); }


}

</script>



<canvas id="processing-canvas-nuage"> </canvas>