Coding Landmarks displaying info

I’m trying to code some landmarks, (as shown in the image) but when you put the cursor on top of the landmark displays some info.

So far I manage to create this. But I just can’t figure out how to do what I want. Can someone help me please?

String[] place;

int radioIni = 50, radioFin = 800;
int rounds = 16;
int year =12;

/*
int month= 
 JAN = ENE.getChild();
 FEB = ();
 MAR = ();
 APR = ();
 MAY = ();
 JUN = ();
 JUL = ();
 AGO = ();
 SEP = ();
 OCT = ();
 NOV = ();
 DEC = ();
 int days= 365;
 
 float knowledge = ellipse();
 float intension = triangle ();
 float publicity = rect ();
 */

Europa euro;

void setup() {
  //size(displayWidth, displayHeight);
  fullScreen();
  place = loadStrings ("DATA_TRACKING PUBLICITARIO.csv");
  //println (place.);
  euro = new Europa();
}

void draw() { // spirals

  background(255);
  translate(width/2, height/2); // track everything to center
  strokeWeight(10);
  stroke(0);
  point(0, 0);

  noFill();
  strokeWeight (2);

  beginShape();
  int ang = 360/year;
  int rad = int(((radioFin-radioIni)*PI / rounds)/year); //16=rounds, 12=months
  for (int i=-1; i<=194; i++) { //one year round (i<12 (months) in 16 years are 192
    curveVertex(cos(radians(ang*i))*(radioIni+rad*i), sin(radians(ang*i))*(radioIni+rad*i));
  }
  endShape();
  //}
  //void europa {

  //stroke(europa);
  strokeWeight (12);
  for (int i=0; i<=192; i++) { //one year round (i<12 (months) in 16 years are 192
    //int ang = 360/12;
    //int rad = int(((radioFin-radioIni)*PI / rounds)/year); //16=rounds, 12=months

    point(cos(radians(ang*i))*(radioIni+rad*i), sin(radians(ang*i))*(radioIni+rad*i));
  }


  //void mouseClicked() {

  //euro.draw(1, 200, 100);
  euro.draw(3, 2, 1);
  euro.draw(1, 2, 2);
  euro.draw(0, 0, 0);
  euro.draw(2, 0, 1);
  euro.draw(2, 0, 2);
  euro.draw(0, 0, 3);
}
class Europa {

  int month= 12;
  int year= 360;
  float random;
  float trip;
  float publi;
  color germany = color (255, 62, 255), 
    spain= color(0, 101, 255), 
    france = color(0, 146, 255), 
    italy = color(0, 182, 255), 
    uk = color(0, 219, 255), 
    europa = color(0, 0, 255);

  int category;

  int ang = 360/year;
  int rad = int(((radioFin-radioIni)*PI / rounds)/year); //16=rounds, 12=months
 
  Europa() {
    //category = cat;
  }

  void draw (int category, int month, int year) {
    strokeWeight(2);
    
    if (category == 3){
      fill(germany);  
    }
    if (category == 0) {
      //ellipse(px, py, 10, 10);
      fill(0, 0, 255);
      ellipse(cos(radians(ang*(month+year*12)))*(radioIni+rad*(month+year*12)), sin(radians(ang*(month+year*12)))*(radioIni+rad*(month+year*12)), 20, 20);
    } else if (category == 1) {
      float px = cos(radians(ang*(month+year*12)))*(radioIni+rad*(month+year*12));
      float py = sin(radians(ang*(month+year*12)))*(radioIni+rad*(month+year*12));

      triangle(px-20, py+40/py, px+px/py, py+20, px+20, py+40/py);
    } else {
      pushStyle();
      rectMode(CENTER);
      rect(cos(radians(ang*(month+year*12)))*(radioIni+rad*(month+year*12)), sin(radians(ang*(month+year*12)))*(radioIni+rad*(month+year*12)), 20, 20);
      popStyle();
    }
    
  }
}

Hi @Radccoon can you reproduce the same error with a sketch that has less code and does not depend on external files, such as the CSV file? And, what have you tried in your debugging process so far to narrow down your problem?

@Radccoon Also, ‘Draw’ is a reserved keyword. consider using something like ‘drawPont()’

I hadn’t thought that, thanks, I’m gonna try it.