Wanted a code (points on a map / hyperlinks)

edited May 2014 in General Discussion

Hi, I want a code with "for" to put 47 points on a map. and when you click on a point, it should direct me to a website. Thanks

Answers

  • don't expect that people write code here for you

    is that homework?

    in which form do you have the map? image? do you intend using a map?

    in which form do you have the 47 points?

    why using "for"?

    better show your code and then tell your problems.

    thanks.

  • Or post in Events & Opportunity with a job proposal...

  • edited May 2014

    Hi Chrisir It's a project. I have the code that does not function to put 47 points on the map. For example. There are 47 cinema halls. So, with the code I found in http://unfoldingmaps.org/tutorials/markers-simple.html , I must put the points one by one. But I would make the points with buckle for: [ for (int i =1; i < lines.length; i++) { ] . But I can not. How I do ?

    THIS IS MY CODE :

    import de.fhpotsdam.unfolding.mapdisplay.*;
    import de.fhpotsdam.unfolding.utils.*;
    import de.fhpotsdam.unfolding.marker.*;
    import de.fhpotsdam.unfolding.tiles.*;
    import de.fhpotsdam.unfolding.interactions.*;
    import de.fhpotsdam.unfolding.ui.*;
    import de.fhpotsdam.unfolding.*;
    import de.fhpotsdam.unfolding.core.*;
    import de.fhpotsdam.unfolding.mapdisplay.shaders.*;
    import de.fhpotsdam.unfolding.data.*;
    import de.fhpotsdam.unfolding.geo.*;
    import de.fhpotsdam.unfolding.texture.*;
    import de.fhpotsdam.unfolding.events.*;
    import de.fhpotsdam.utils.*;
    import de.fhpotsdam.unfolding.providers.*;
    //Importation de la librairies Unfolding Maps (permet la création d&apos;un point avec SimplePointMarker : Menu Sketch -> Import Library -> Unfolding Maps
    
    import de.fhpotsdam.unfolding.*; 
    import de.fhpotsdam.unfolding.geo.*; 
    import de.fhpotsdam.unfolding.utils.*;
    import de.fhpotsdam.unfolding.providers.*; //La librairie provider pour le style de la carte
    //LES LIBRAIRIES Unfolding pour la carte
    
    UnfoldingMap map;  //pour créer un objet carte
    SimplePointMarker MontagnardMarker; //Permet de definir le point Montagnard pour ensuite l&apos;utiliser dans le programme
    
    
    
    void setup() { //Initialisation
      size(800, 600); //Taille de la fenêtre  (Largeur, Hauteur)
      map = new UnfoldingMap(this, new Microsoft.AerialProvider());  //L&apos;utilisation de la librairie pour le fond de la carte
      map.zoomAndPanTo(new Location(47.5f, -1.4f), 10);  //les coordonnées géographiques de la PDL
      MapUtils.createDefaultEventDispatcher(this, map); //?? reconnait le map (fond) ?? 
    
      Location PDLLocation = new Location(47.5f,-1.4f); //La lattitude et la longitude de la PDL
      map.zoomAndPanTo(PDLLocation, 10);  //L&apos;affichage de la carte à 10 km de vu panoramique
      float maxPanningDistance = 30; // en km , On peut faire glisser maximum 30 km la carte
      map.setPanningRestriction(PDLLocation, maxPanningDistance); //Restriction de la location et la Distance
      map.setZoomRange(10, 20); //le zoom maximal sur un point choisi
    
    
    
    //PARTIE D&apos;ALEXIANE
    String lines[] = loadStrings("donneesopendataavecmodif.csv");//création d&apos;un tableau
    println("il y a " + lines.length + " lignes");//affichage du nombre de lignes 
    for (int i = 0 ; i < lines.length; i++) { //pour i allant de 0 à i++ : création d&apos;un compteur
      println("ligne "+i+" : "+  lines[i]);  //affichage de la ligne i
    }
    
    String[] nom_cinema=new String[ lines.length]; //création du tableau nom_cinéma
    String[] decoup=new String[8]; //création d&apos;un tableau de découpe
    String[] coupe=new String[2]; //création d&apos;un tableau de découpe
    String[] coupe2=new String[3]; // création d&apos;un tableau de découpe 
    String[] coupe3=new String[10];// création d&apos;un tableau de découpe 
    String[] adresse_internet=new String[lines.length]; //création du tableau des sites internet
    String[] longi=new String[lines.length]; // création du tableau provisoire des longitudes
    Float [] longitude=new Float[lines.length]; // création du tableau des longitudes
    String[] lati=new String[lines.length]; //création d&apos;un tableau provisoire des latitudes
    Float[] latitude=new Float[lines.length]; //création d&apos;un tableau des latitudes
    
    //afficher la liste des noms des cinémas
    for (int i = 1; i <  lines.length; i++) { //
     decoup= split( lines[i], &apos;,&apos;);//découpage de chaque ligne
    nom_cinema[i]=decoup[0]; //remplissage du tableau nom_cinema 
    println("Nom du cinéma "+i+" : "+ nom_cinema[i]);//affichage du nom du cinéma
    coupe2=split( nom_cinema[i], &apos;"&apos;);//découpage de chaque guillemet
    println("nom_cinema : "+coupe2[1]); //affichage nom des cinémas
    }
    
    
    //afficher l&apos;adresse internet
    for (int i =1; i <  lines.length; i++) { //
     decoup= split( lines[i], &apos;,&apos;);//découpage de chaque ligne
    adresse_internet[i]=decoup[4];//remplissage du tableau sites internet
    println("Adresse internet du cinéma "+i+" : "+adresse_internet[i]);//affichage de l&apos;adresse internet
      coupe3=split( adresse_internet[i], &apos;"&apos;);//découpage de chaque guillemet
    println("adresse_internet : "+coupe3[2]); //affichage des sites internet
    }
    
    // longitude
    for (int i =1; i <  lines.length; i++) { //
     decoup= split( lines[i], &apos;,&apos;);//découpage de chaque ligne
    longi[i]=decoup[5];//remplissage du tableau des longitudes
    //println("Mauvaise longitude "+i+" : "+longitude[i]);//affichage de la longitude
    coupe=split( longi[i], "[");//découpage de chaque crochet
    longitude[i]=float(coupe[1]); //
    println("longitude : "+longitude[i]); //affichage des longitudes
    
    }
    
    // latitude
    for (int i =1; i <  lines.length; i++) {//
     decoup= split( lines[i], &apos;,&apos;);//découpage de chaque ligne
    lati[i]=decoup[5];//remplissage du tableau des latitudes
    //println("Mauvaise latitude "+i+" : "+latitude[i]);//affichage de la latitude
    coupe=split( lati[i], "[");//découpage de chaque crochet
    latitude[i]=float(coupe[1]);// pour pouvoir afficher les points sur le carte car float:réel et string: chane de caractère
    println("latitude : "+latitude[i]);// affichage des latitudes
    }
    //Le boucle for pour lire tout les établissement. 
    
    mousePressed();
    for (int i = 0; i < lines.length; i++) {
    if (mouseX == i && mouseY == i)
    link("http://lemontagnard.cine.allocine.fr/");
        Location MontagnardLocation = new Location(47.1884883, -1.6836739);  //Localisation de cinema Montagnard
        MontagnardMarker = new SimplePointMarker(MontagnardLocation);  //Marquage de Montagnard
        map.addMarkers(MontagnardMarker);
      }
    
    
    }
    //FIN DE LA PARTIE D&apos;ALEXIANE
    
    void draw() { //La commande pour l&apos;affichage de la carte
        map.draw();  //Commande de map
        Location location = map.getLocation(mouseX, mouseY); //On peut affiché sur l&apos;écran les coordonnées géographiques 
        fill(0); //Remplir (couleur)
        text(location.getLat() + ", " + location.getLon(), mouseX, mouseY); //le nombre à droite presente la lattitude et le gauche : longitude
    
    
    //LA SUITE DE LA CODE
    
    ScreenPosition MontagnardPos = MontagnardMarker.getScreenPosition(map); //position marquer sur l&apos;ecran
    strokeWeight(8);  // la grandeur de l&apos;arc
    stroke(200, 0, 0, 200); //Couleur de l&apos;arc
    strokeCap(SQUARE); //Type de pointage
    noFill();
    float s = 30; //Grandeur du pointage
    arc(MontagnardPos.x, MontagnardPos.y, s, s, -PI * 0.9, -PI * 0.1); // Pour découper l&apos;arc de haut
    arc(MontagnardPos.x, MontagnardPos.y, s, s, PI * 0.1, PI * 0.9); // Pour découper l&apos;arc de bas
    fill(0); //Couleur de l&apos;écriture
    text("Cinéma", MontagnardPos.x - textWidth("Cinéma") / 2, MontagnardPos.y + 4);
    
    }
    
    
    //Le code pour ouvrir le page internet 
    // for (int k = 1; k <  lines.length; k++) { 
    //  if (mouseX == 47.1884883 && mouseY == -1.6836739)
    // void mousePressed() { 
     // link("http://lemontagnard.cine.allocine.fr/"); 
    
  • Or I wanted a code that allows me to open a site when you click on a point.

  • Answer ✓

    can you post

    donneesopendataavecmodif.csv

  • edited May 2014 Answer ✓

    here (forum destroys links)

    String app1 = "C://Program Files//Internet Explorer//iexplore.exe";  
    String link1 =   "http://lemontagnard.cine.allocine.fr/" ;
    // open ( "C://Program Files//Internet Explorer//iexplore.exe"); 
    String [] links = {
      app1, 
      link1
    };  
    open (  links );
    
  • edited May 2014 Answer ✓

    (forum destroys links)

    Well, since we post in this forum continually, better learn some tricks to evade those irritating format bugs: :O)

    // forum.processing.org/two/discussion/5235/
    // wanted-a-code-points-on-a-map-hyperlinks
    
    final String app  = "C:\\" + "Program Files\\Internet Explorer\\iexplore.exe";
    final String link = "http://" + "lemontagnard.cine.allocine.fr/";
    
    final String[] links = { app, link };
    
    open(links);
    
  • wow! ;-)

  • edited May 2014

    .

  • edited May 2014

    If those paths are fixed, you can place them as "global" field variables atop setup() and declare them static too!
    The open() command inside setup() seems OK! (*)

  • post the lines of csv here

  • edited May 2014

    Hi, Afterd adding the code, in Setup, When I open the map, the site appears without clicking a specific point.

    And, Wenn I adding the code in Draw , The website appears when I click anywhere on the map. But I want; the site appears when I click on a point.

    For example We can be added "if" but how ? ^^ I have the code if (mouseX == 47.1884883 && mouseY == -1.6836739);

    but this point is very precise, so I can't just click on the location on the map.

    And I would like to open the link with google chrome not with explorer. Well, I added final String app = "C:\" + "Program Files\Google Chrome\gchrome.exe"; ??

  • edited May 2014

    **The dossier CSV is: **

    "Nom de l'établissement,""Adresse de l'établissement"",""Code postal"",""Commune"",""""Site internet"""",""[longitude"",""latitude]"""
    "Cinéma Le Montagnard,""Place Similien Guérin"",""44620"",""La Montagne"",""lemontagnard.cine.allocine.fr/"",""[ 47.1884883 , -1.6836739]"""
    "Le Hublot,""Place Dinan"",""44490"",""Le Croisic"",""www.cinemahublot.com"",""[ 47.2930097 , -2.5095419]"""
    "Gaumont Nantes,""12 place du commerce"",""44000"",""Nantes"",""www.cinemasgaumontpathe.com"",""[ 47.2133267 , -1.5574897]"""
    "Cinéma Le Beaulieu,""26 rue de Beaulieu"",""44340"",""Bouguenais"",""www.cinemalebeaulieu.com"",""[ 47.1782903 , -1.6248557]"""
    "Cinéma Eden,""67 rue Saint-Fiacre"",""44150"",""Ancenis"",""www.cineeden.com"",""[ 47.3656875 , -1.1841246]"""
    "Cinéma Le Connétable,""1 cours des Marches de Bretagne"",""44190"",""Clisson"",""www.cinema-leconnetable.fr/"",""[ 47.0864509 , -1.280468]"""
    "Katorza,""3 rue Corneille"",""44000"",""Nantes"",""www.katorza.fr"",""[ 47.2136078 , -1.5625501]"""
    "Salle Jacques Tati,""33 boulevard Victor Hugo"",""44603"",""Saint-Nazaire"",""www.letheatre-saintnazaire.fr"",""[ 47.2807248 , -2.2163867]"""
    "L'Odéon,""7 place de l'Eglise"",""44290"",""Guémené-Penfao"",""www.commeaucinema.com/salle/cinema-l-odeon"",""[ 47.6302765 , -1.8326347]"""
    "Cinéma Saint-Gilles,""54 rue de Verdun"",""44210"",""Pornic"",""www.allocine.fr/seance/salle_gen_csalle=P0716.html"",""[ 47.1193374 , -2.1010742]"""
    "Cinéma Atlantic,""Place des anciens combattants"",""44420"",""La Turballe"",""www.reperages.biz"",""[ 47.348472 , -2.511759]"""
    "Ciné Malouine,""Rue Aristide Briand"",""44550"",""Saint-Malô-de-Guersac"",""www.cinemalouine.a3w.fr"",""[ 47.353027999 , -2.1754478]"""
    "Cinéville,""Rue Marie Curie"",""44230"",""Saint-Sébastien sur Loire"",""www.cineville.fr"",""[ 47.1896137 , -1.4851055]"""
    "Montluc Cinéma,""Rue Chauvin de la Musse"",""44360"",""Saint-Etienne-de-Montluc"",""www.montluc-cinema.weebly.com"",""[ 47.2757012 , -1.7795501]"""
    "Ciné Vaillant,""12 rue du Général De Gaulle"",""44120"",""Vertou"",""www.cinevaillant.com"",""[ 47.1675021 , -1.4696791999]"""
    "Saint-Joseph,""14 rue Notre-Dame"",""44210"",""Sainte-Marie-sur-Mer"",""www.allocine.fr/seance/salle_gen_csalle=P2368.html"",""[ 47.1142605999 , -2.1279528]"""
    "Gulf Stream,""52 avenue du Général De Gaulle"",""44500"",""La Baule"",""www.allocine.fr/seance/salle_gen_csalle=P0396.html"",""[ 47.2837292 , -2.3918934]"""
    "Ciné Pole Sud,""Route de Clisson"",""44115"",""Basse-Goulaine"",""www.cinepolesud.fr"",""[ 47.1851988 , -1.4483186]"""
    "Cinéma Pax,""5 rue Maréchal Joffre"",""44510"",""Le Pouliguen"",""www.reperages.biz"",""[ 47.2760547 , -2.429844]"""
    "Ciné Phil,""Rue de la cure"",""44310"",""Saint-Philbert-de-Grandlieu"",""www.cinephil.fr"",""[ 47.034876 , -1.6420699]"""
    "Cinéma Saint-Laurent,""9 rue du 11 novembre"",""44130"",""Blain"",""www.cineblain.fr"",""[ 47.4763785 , -1.7639012]"""
    "La Bobine,""6 place de la gare"",""44160"",""Pontchâteau"",""www.allocine.fr/seance/salle_gen_csalle=P1419.html"",""[ 47.4359066 , -2.0885025]"""
    "Cinéma Saint-Michel,""20 rue du Redois"",""44730"",""Saint-Michel Chef Chef"",""www.allocine.fr/seance/salle_gen_csalle=W1146.html"",""[ 47.1809564 , -2.1500492]"""
    "Ciné Loroux,""Rue de la Liotterie"",""44430"",""Le Loroux-Bottereau"",""pagesperso-orange.fr/cineloroux"",""[ 47.2363295 , -1.3487288]"""
    "Cinéma Jeanne d'Arc,""15 rue de la mer"",""44760"",""La Bernerie en Retz"",""www.mairie-labernerie.fr/?p=767"",""[ 47.0796364 , -2.0391846]"""
    "Cinéma Bonne-Garde,""20 rue du frère Louis"",""44200"",""Nantes"",""www.cinebonnegarde.ift.fr"",""[ 47.1952762 , -1.5383884]"""
    "Espace Culturel,""Rue Gabriel Deshayes"",""44530"",""Saint-Gildas des Bois"",""www.infolocale.fr/saint-gildas-des-bois_44161_cinema-familles-rurales_8231/agenda?date_debut=01-01-2012&date_fin=31-12-2012"",""[ 47.5153946 , -2.0404892]"""
    "Lutétia,""18 rue des calvaires"",""44800"",""Saint-Herblain"",""www.cine-lutetia.net/"",""[ 47.2140196 , -1.6493339]"""
    "Cinéville,""5 boulevard de la Légion d'Honneur - BP 408"",""44600"",""Saint-Nazaire"",""www.cineville.fr"",""[ 47.2750611 , -2.203853]"""
    "Ciné Presqu'île,""3 avenue Anne de Bretagne"",""44350"",""Guérande"",""www.allocine.fr/seance/salle_gen_csalle=W4435.html"",""[ 47.3316132 , -2.4281512]"""
    "Le Nozek,""Rue de la gare"",""44170"",""Nozay"",""www.nozay44.com/lenozek"",""[ 47.5548136 , -1.5253859]"""
    "Cinéma Jacques Demy,""11 rue du stade"",""44450"",""La Chapelle-Basse-Mer"",""www.cinema-la-chapelle-basse-mer.fr"",""[ 47.2700112 , -1.3351477]"""
    "Atlantic Ciné,""21 rue de la vernisserie"",""44110"",""Châteaubriant"",""www.atlanticcine.com"",""[ 47.7225637 , -1.3772438]"""
    "Cinéma Paradiso,""24 boulevard de la gare - BP 14"",""44390"",""Nort-sur-Erdre"",""www.cinema-paradiso.asso.fr/"",""[ 47.4411312 , -1.5029358]"""
    "Cinéjade,""Parc d'activité de la Guerche"",""44250"",""Saint-Brévin-les-Pins"",""www.saint-brevin.fr/tourisme/cinema-cinejade.html"",""[ 47.246659 , -2.165807]"""
    "Cinéma Saint-Paul,""38 rue Julien Douillard"",""44400"",""Rezé"",""cinesaintpaul.free.fr"",""[ 47.1839593 , -1.5439873]"""
    "Espace Renaissance,""1 rue Laënnec"",""44480"",""Donges"",""www.ville-donges.fr"",""[ 47.3469263 , -2.5040451]"""
    "Pathé Atlantis,""Allée de la Pérouse"",""44800"",""Saint-Herblain"",""www.cinemasgaumontpathe.com"",""[ 47.2225519 , -1.6262387]"""
    "Cinéma Victoria,""Rue Saint-Victor"",""44750"",""Campbon"",""www.cinema-victoria44.ici.st/"",""[ 47.411658 , -1.96546]"""
    "Cinéma Le Cep,""8 boulevard Evariste Dejoie"",""44330"",""Vallet"",""www.cinemalecep.fr"",""[ 47.1624427 , -1.264214]"""
    "UGC Ciné Cité Atlantis,""Place Jean Bart"",""44812"",""Saint-Herblain"",""www.ugc.fr"",""[ 47.2242998 , -1.625475]"""
    "Cinéma Atlantique,""Grande rue"",""44770"",""Préfailles"",""www.le-site-de.com/cinema-atlantique-prefailles_245460.html#"",""[ 47.1285262 , -2.2164049]"""
    "Cinéma Jeanne d'Arc,""17 boulevard de la Ferronnays"",""44540"",""Saint-Mars-la-Jaille"",""cinema.jeannedarc.free.fr/"",""[ 47.5236939 , -1.1875681]"""
    "Cinéma Concorde,""79 boulevard Egalité"",""44100"",""Nantes"",""www.leconcorde.fr"",""[ 47.2111544 , -1.5868273]"""
    "Cinémachecoul,""23 rue des Capucins"",""44270"",""Machecoul"",""www.allocine.fr/seance/salle_gen_csalle=P4427.html"",""[ 46.993228 , -1.8235064]"""
    "Cinéma Le Gen'eric,""Rue de l'océan - BP 6"",""44810"",""Héric"",""www.cinema-generic.com/"",""[ 47.415069 , -1.6577089]"""
    
  • Answer ✓

    (ctrl-k works with csv also. although i had to remove the http:// as the forum was doing its thing with them. they seemed optional anyway - half the links didn't have them)

  • edited May 2014

    Hi Koogs I did not understand what you say :/

  • Answer ✓

    when posting code you should highlight it and hit ctrl-k so that it's indented. this means the forum will format it as code, see above, and not just paragraphs of text. this is especially important when posting processing scripts but also things like csv files.

    however, the formatter doesn't like http:// links - it tries to make them hyperlinks before the code gets formatted and it screws up. so i removed all the http:// from your code to stop this. it shouldn't affect the results.

    setup() { // code without ctrl-k }

    setup() {
      // code with ctrl-k
    }
    
  • edited May 2014 Answer ✓

    to make the link work you need to call it only when one spot on your map is clicked.

    you wrote:

    And I would like to open the link with google chrome not with explorer. Well, I added final String app = "C:\" + "Program Files\Google Chrome\gchrome.exe"; ??

    yes, you have to change the path in the code above

    final String app  = "C:\\" + "Program Files\\Google Chrome\\gchrome.exe";
    

    I think you want a double \\

  • edited May 2014

    All right.. Finally, I removed the unnecessary codes and I managed to make "the site appears when I click on a point. "

    And I have

    import de.fhpotsdam.unfolding.mapdisplay.*;
    import de.fhpotsdam.unfolding.utils.*;
    import de.fhpotsdam.unfolding.marker.*;
    import de.fhpotsdam.unfolding.tiles.*;
    import de.fhpotsdam.unfolding.interactions.*;
    import de.fhpotsdam.unfolding.ui.*;
    import de.fhpotsdam.unfolding.*;
    import de.fhpotsdam.unfolding.core.*;
    import de.fhpotsdam.unfolding.mapdisplay.shaders.*;
    import de.fhpotsdam.unfolding.data.*;
    import de.fhpotsdam.unfolding.geo.*;
    import de.fhpotsdam.unfolding.texture.*;
    import de.fhpotsdam.unfolding.events.*;
    import de.fhpotsdam.utils.*;
    import de.fhpotsdam.unfolding.providers.*;
    //Importation de la librairies Unfolding Maps (permet la création d&apos;un point avec SimplePointMarker : Menu Sketch -> Import Library -> Unfolding Maps
    
    import de.fhpotsdam.unfolding.*; 
    import de.fhpotsdam.unfolding.geo.*; 
    import de.fhpotsdam.unfolding.utils.*;
    import de.fhpotsdam.unfolding.providers.*; //La librairie provider pour le style de la carte
    //LES LIBRAIRIES Unfolding pour la carte
    
    UnfoldingMap map;  //pour créer un objet carte
    SimplePointMarker MontagnardMarker; //Permet de definir le point Montagnard pour ensuite l&apos;utiliser dans le programme
    
    
    
    
    void setup() { //Initialisation
      size(800, 600); //Taille de la fenêtre  (Largeur, Hauteur)
      map = new UnfoldingMap(this, new Microsoft.AerialProvider());  //L&apos;utilisation de la librairie pour le fond de la carte
      map.zoomAndPanTo(new Location(47.5f, -1.4f), 10);  //les coordonnées géographiques de la PDL
      MapUtils.createDefaultEventDispatcher(this, map); //?? reconnait le map (fond) ?? 
    
      Location PDLLocation = new Location(47.5f,-1.4f); //La lattitude et la longitude de la PDL
      map.zoomAndPanTo(PDLLocation, 10);  //L&apos;affichage de la carte à 10 km de vu panoramique
      float maxPanningDistance = 30; // en km , On peut faire glisser maximum 30 km la carte
      map.setPanningRestriction(PDLLocation, maxPanningDistance); //Restriction de la location et la Distance
      map.setZoomRange(10, 20); //le zoom maximal sur un point choisi
    
    
      Location MontagnardLocation = new Location(47.1884883, -1.6836739); //(longitude;lattitude)
      MontagnardMarker = new SimplePointMarker(MontagnardLocation);  //Marquage de Montagnard
      map.addMarkers(MontagnardMarker);
    
    
    //PARTIE D&apos;ALEXIANE*************************************************************
    //********************************************************************************
    String lines[] = loadStrings("donneesopendataavecmodif.csv");//création d&apos;un tableau
    println("il y a " + lines.length + " lignes");//affichage du nombre de lignes 
    for (int i = 0 ; i < lines.length; i++) { //pour i allant de 0 à i++ : création d&apos;un compteur
      println("ligne "+i+" : "+  lines[i]);  //affichage de la ligne i
    }
    
    String[] nom_cinema=new String[ lines.length]; //création du tableau nom_cinéma
    String[] decoup=new String[8]; //création d&apos;un tableau de découpe
    String[] coupe=new String[2]; //création d&apos;un tableau de découpe
    String[] coupe2=new String[3]; // création d&apos;un tableau de découpe 
    String[] coupe3=new String[10];// création d&apos;un tableau de découpe 
    String[] adresse_internet=new String[lines.length]; //création du tableau des sites internet
    String[] Ad_internet=new String[lines.length]; //création du tableau des sites internet
    String[] longi=new String[lines.length]; // création du tableau provisoire des longitudes
    Float [] longitude=new Float[lines.length]; // création du tableau des longitudes
    String[] lati=new String[lines.length]; //création d&apos;un tableau provisoire des latitudes
    Float[] latitude=new Float[lines.length]; //création d&apos;un tableau des latitudes
    
    //afficher la liste des noms des cinémas
    for (int i = 1; i <  lines.length; i++) { //
     decoup= split( lines[i], &apos;,&apos;);//découpage de chaque ligne
    nom_cinema[i]=decoup[0]; //remplissage du tableau nom_cinema 
    println("Nom du cinéma "+i+" : "+ nom_cinema[i]);//affichage du nom du cinéma
    coupe2=split( nom_cinema[i], &apos;"&apos;);//découpage de chaque guillemet
    println("nom_cinema : "+coupe2[1]); //affichage nom des cinémas
    }
    
    
    //afficher l&apos;adresse internet
    for (int i =1; i <  lines.length; i++) { //
     decoup= split( lines[i], &apos;,&apos;);//découpage de chaque ligne
    adresse_internet[i]=decoup[4];//remplissage du tableau sites internet
    println("Adresse internet du cinéma "+i+" : "+adresse_internet[i]);//affichage de l&apos;adresse internet
      coupe3=split( adresse_internet[i], &apos;"&apos;);//découpage de chaque guillemet
    println("adresse_internet : "+coupe3[2]); //affichage des sites internet
    Ad_internet[i]=coupe3[2];
    println("adresse_internet : "+Ad_internet[i]); //affichage des sites internet
    }
    
    // longitude
    for (int i =1; i <  lines.length; i++) { //
     decoup= split( lines[i], &apos;,&apos;);//découpage de chaque ligne
    longi[i]=decoup[5];//remplissage du tableau des longitudes
    //println("Mauvaise longitude "+i+" : "+longitude[i]);//affichage de la longitude
    coupe=split( longi[i], "[");//découpage de chaque crochet
    longitude[i]=float(coupe[1]); //
    println("longitude : "+longitude[i]); //affichage des longitudes
    
    }
    
    // latitude
    for (int i =1; i <  lines.length; i++) {//
     decoup= split( lines[i], &apos;,&apos;);//découpage de chaque ligne
    lati[i]=decoup[6];//remplissage du tableau des latitudes
    //println("Mauvaise latitude "+i+" : "+latitude[i]);//affichage de la latitude
    coupe=split( lati[i], "]");//découpage de chaque crochet
    latitude[i]=float(coupe[0]);// pour pouvoir afficher les points sur le carte car float:réel et string: chane de caractère
    println("latitude : "+latitude[i]);// affichage des latitudes
    }
    //Le boucle for pour lire tout les établissement. 
    
    
    }
    //FIN DE LA PARTIE D&apos;ALEXIANE*****************************************
    
    void draw() { //La commande pour l&apos;affichage de la carte
        map.draw();  //Commande de map
        Location location = map.getLocation(mouseX, mouseY); //On peut affiché sur l&apos;écran les coordonnées géographiques 
        fill(0); //Remplir (couleur)
        text(location.getLat() + ", " + location.getLon(), mouseX, mouseY); //le nombre à droite presente la lattitude et le gauche : longitude
    
    
    // CODE POUR MARQUER UN POINT SUR LA CARTE
    
    ScreenPosition MontagnardPos = MontagnardMarker.getScreenPosition(map); //position marquer sur l&apos;ecran
    strokeWeight(8);  // la grandeur de l&apos;arc
    stroke(200, 0, 0, 200); //Couleur de l&apos;arc
    strokeCap(SQUARE); //Type de pointage
    noFill();
    float s = 30; //Grandeur du pointage
    arc(MontagnardPos.x, MontagnardPos.y, s, s, -PI * 0.9, -PI * 0.1); // Pour découper l&apos;arc de haut
    arc(MontagnardPos.x, MontagnardPos.y, s, s, PI * 0.1, PI * 0.9); // Pour découper l&apos;arc de bas
    fill(0); //Couleur de l&apos;écriture
    text("Cinéma", MontagnardPos.x - textWidth("Cinéma") / 2, MontagnardPos.y + 4);
    
    float L= MontagnardPos.x; //Definir le variable L longitude
    float l= MontagnardPos.y; // Definir le variabli l lattitude
    
    if( mouseX > L-15 && mouseX<L+15 && mouseY>l-15 && mouseY<l+15 && mousePressed == true) //Si on clique ...
    {
     link("http:// + lemontagnard.cine.allocine.fr/");  //Alors afficher le site
     //link(Ad_internet[1]);
    
    }
    
    }
    
  • Thanks koogs I understood a little ^^ I'll try to do as you

  • edited May 2014

    Now the problem: I want a code with "for" to put 46 points on a map with the information from donneesopendataavecmodif.csv :)

  • edited May 2014 Answer ✓

    I see.

    In line 52 you have a for loop already.

    you need to do more in this for-loop:

    String[] data = split (lines[i], "," );

    now you have an array data with the data for that cinema

    now you have the lines 43-45: add a point

    these lines must also go into the for-loop

    and you must check if data is ok or remove [ and ] e.g.

    for (int i = 0 ; i < lines.length; i++) { //pour i allant de 0 à i++ : création d&apos;un compteur
    
    String[] data = split (lines[i], "," );
    
      Location MontagnardLocation = new Location(data[5], data[6]); //(longitude;lattitude)
      MontagnardMarker = new SimplePointMarker(MontagnardLocation);  //Marquage de Montagnard
      map.addMarkers(MontagnardMarker);
    
    } // for 
    

    ;-)

  • edited May 2014 Answer ✓

    also you got arrays for all data of all cinemas - good!

    so: in line 122-143 you need to for-loop over the arrays or something and check which point has been clicked and the display it.

    can't you make an array from ScreenPosition MontagnardPos ?

    later you have a class Cinema with objects cinemas in an ArrayList ;-)

    And

    and use ctrl-t in the processing program to auto-format your code nicely (indents)

  • Answer ✓

    here

    import de.fhpotsdam.unfolding.mapdisplay.*;
    import de.fhpotsdam.unfolding.utils.*;
    import de.fhpotsdam.unfolding.marker.*;
    import de.fhpotsdam.unfolding.tiles.*;
    import de.fhpotsdam.unfolding.interactions.*;
    import de.fhpotsdam.unfolding.ui.*;
    import de.fhpotsdam.unfolding.*;
    import de.fhpotsdam.unfolding.core.*;
    import de.fhpotsdam.unfolding.mapdisplay.shaders.*;
    import de.fhpotsdam.unfolding.data.*;
    import de.fhpotsdam.unfolding.geo.*;
    import de.fhpotsdam.unfolding.texture.*;
    import de.fhpotsdam.unfolding.events.*;
    import de.fhpotsdam.utils.*;
    import de.fhpotsdam.unfolding.providers.*;
    //Importation de la librairies Unfolding Maps (permet la création d&apos;un point avec SimplePointMarker : Menu Sketch -> Import Library -> Unfolding Maps
    
    import de.fhpotsdam.unfolding.*; 
    import de.fhpotsdam.unfolding.geo.*; 
    import de.fhpotsdam.unfolding.utils.*;
    import de.fhpotsdam.unfolding.providers.*; //La librairie provider pour le style de la carte
    //LES LIBRAIRIES Unfolding pour la carte
    
    UnfoldingMap map;  //pour créer un objet carte
    SimplePointMarker MontagnardMarker; //Permet de definir le point Montagnard pour ensuite l&apos;utiliser dans le programme
    
    final String quotationMark = "\""; 
    
    String[] lines; 
    String[] nom_cinema;
    String[] Ad_internet; 
    ScreenPosition[] montagnardPositions;//  
    
    // -------------------------------------------------------------------
    
    void setup() { //Initialisation
      size(800, 600, P2D); //Taille de la fenêtre  (Largeur, Hauteur)
      map = new UnfoldingMap(this, new Microsoft.AerialProvider());  //L&apos;utilisation de la librairie pour le fond de la carte
      map.zoomAndPanTo(new Location(47.5f, -1.4f), 10);  //les coordonnées géographiques de la PDL
      MapUtils.createDefaultEventDispatcher(this, map); //?? reconnait le map (fond) ?? 
    
      Location PDLLocation = new Location(47.5f, -1.4f); //La lattitude et la longitude de la PDL
      map.zoomAndPanTo(PDLLocation, 10);  //L&apos;affichage de la carte à 10 km de vu panoramique
      float maxPanningDistance = 30; // en km , On peut faire glisser maximum 30 km la carte
      map.setPanningRestriction(PDLLocation, maxPanningDistance); //Restriction de la location et la Distance
      map.setZoomRange(10, 20); //le zoom maximal sur un point choisi
    
    
      Location MontagnardLocation = new Location(47.1884883, -1.6836739); //(longitude;lattitude)
      MontagnardMarker = new SimplePointMarker(MontagnardLocation);  //Marquage de Montagnard
      map.addMarkers(MontagnardMarker);
    
    
      //PARTIE D&apos;ALEXIANE*************************************************************
      //********************************************************************************
    
      println("\n**************************************************************\n");
    
      lines = loadStrings("donneesopendataavecmodif.csv");//création d&apos;un tableau
      println("il y a " + lines.length + " lignes");//affichage du nombre de lignes 
      for (int i = 0 ; i < lines.length; i++) { //pour i allant de 0 à i++ : création d&apos;un compteur
        println("ligne "+i+" : "+  lines[i]);  //affichage de la ligne i
      }
    
      nom_cinema=new String[ lines.length]; //création du tableau nom_cinéma
      String[] decoup=new String[8]; //création d&apos;un tableau de découpe
      String[] coupe=new String[2]; //création d&apos;un tableau de découpe
      String[] coupe2=new String[3]; // création d&apos;un tableau de découpe 
      String[] coupe3=new String[10];// création d&apos;un tableau de découpe 
      String[] adresse_internet=new String[lines.length]; //création du tableau des sites internet
      Ad_internet=new String[lines.length]; //création du tableau des sites internet
      String[] longi=new String[lines.length]; // création du tableau provisoire des longitudes
      Float [] longitude=new Float[lines.length]; // création du tableau des longitudes
      String[] lati=new String[lines.length]; //création d&apos;un tableau provisoire des latitudes
      Float[] latitude=new Float[lines.length]; //création d&apos;un tableau des latitudes
      montagnardPositions=new ScreenPosition[lines.length];
    
      //afficher la liste des noms des cinémas
      println ("start for-loop--------------------------------");
      for (int i = 1; i <  lines.length; i++) { //
        decoup = split( lines[i], ","   );//découpage de chaque ligne
        nom_cinema[i]=decoup[0]; //remplissage du tableau nom_cinema 
        println("Nom du cinéma "+i+" : "+ nom_cinema[i]);//affichage du nom du cinéma
        coupe2=split( nom_cinema[i], quotationMark );//découpage de chaque guillemet
        println("nom_cinema :     "+coupe2[1]); //affichage nom des cinémas
        nom_cinema[i]=coupe2[1];
      }     
      println ("end for-loop--------------------------------");
    
      //afficher l&apos;adresse internet
      for (int i =1; i <  lines.length; i++) { //
        decoup= split( lines[i], ","  );//découpage de chaque ligne
        adresse_internet[i]=decoup[4];//remplissage du tableau sites internet
        println("Adresse internet du cinéma "+i+" :  "+adresse_internet[i]);//affichage de l&apos;adresse internet
        coupe3=split( adresse_internet[i], quotationMark         );//découpage de chaque guillemet
        println("adresse_internet :         "+coupe3[2]); //affichage des sites internet
        Ad_internet[i]=coupe3[2];
        println("adresse_internet :         "+Ad_internet[i]); //affichage des sites internet
      }
    
      // longitude
      for (int i =1; i <  lines.length; i++) { //
        decoup= split( lines[i], ","   );//découpage de chaque ligne
        longi[i]=decoup[5];//remplissage du tableau des longitudes
        //println("Mauvaise longitude "+i+" :   "+longitude[i]);//affichage de la longitude
        coupe=split( longi[i], "[");//découpage de chaque crochet
        longitude[i]=float(coupe[1]); //
        println("longitude :      "+longitude[i]); //affichage des longitudes
      }
    
      // latitude
      for (int i =1; i <  lines.length; i++) {//
        decoup= split( lines[i], ","   );//découpage de chaque ligne
        lati[i]=decoup[6];//remplissage du tableau des latitudes
        //println("Mauvaise latitude "+i+" :  "+latitude[i]);//affichage de la latitude
        coupe=split( lati[i], "]");//découpage de chaque crochet
        latitude[i]=float(coupe[0]);// pour pouvoir afficher les points sur le carte car float:réel et string: chane de caractère
        println("latitude :       "+latitude[i]);// affichage des latitudes
    
        MontagnardLocation = new Location(longitude[i], latitude[i]); //(longitude;lattitude)
        MontagnardMarker = new SimplePointMarker(MontagnardLocation);  //Marquage de Montagnard
        map.addMarkers(MontagnardMarker);
        montagnardPositions[i] = MontagnardMarker.getScreenPosition(map); //position marquer sur l&apos;ecran
      } // for 
    
      println("\nEnd of setup() \n");
    
      //Le boucle for pour lire tout les établissement.
    } // func 
    
    //FIN DE LA PARTIE D&apos;ALEXIANE*****************************************
    
    void draw() {
    
      //La commande pour l&apos;affichage de la carte
      map.draw();  //Commande de map
    
      Location location = map.getLocation(mouseX, mouseY); //On peut affiché sur l&apos;écran les coordonnées géographiques 
      fill(0); //Remplir (couleur)
      text(location.getLat() + ", " + location.getLon(), mouseX, mouseY); //le nombre à droite presente la lattitude et le gauche : longitude
    
      // CODE POUR MARQUER UN POINT SUR LA CARTE
    
      for (int i = 1; i < montagnardPositions.length; i++) {
    
        ScreenPosition MontagnardPos = montagnardPositions[i]  ; //position marquer sur l&apos;ecran
        strokeWeight(8);  // la grandeur de l&apos;arc
        stroke(200, 0, 0, 200); //Couleur de l&apos;arc
        strokeCap(SQUARE); //Type de pointage
        noFill();
        float s = 30; //Grandeur du pointage
        arc(MontagnardPos.x, MontagnardPos.y, s, s, -PI * 0.9, -PI * 0.1); // Pour découper l&apos;arc de haut
        arc(MontagnardPos.x, MontagnardPos.y, s, s, PI * 0.1, PI * 0.9); // Pour découper l&apos;arc de bas
        fill(0); //Couleur de l&apos;écriture
        // text("Cinéma", MontagnardPos.x - textWidth("Cinéma") / 2, MontagnardPos.y + 4);
        textAlign(CENTER);
        text(nom_cinema[i], MontagnardPos.x, MontagnardPos.y + 4);
      } // for
    } // func 
    
    void mousePressed() {
      // Si on clique ...
      // check pos 
      for (int i = 1; i < montagnardPositions.length; i++) {
        ScreenPosition MontagnardPos = montagnardPositions[i]  ; //position marquer sur l&apos;ecran
        float L= MontagnardPos.x; //Definir le variable L longitude
        float l= MontagnardPos.y; // Definir le variabli l lattitude
        if ( mouseX > L-15 && mouseX<L+15 && 
          mouseY>l-15 && mouseY<l+15 ) //Si on clique ...
        {
          // link("http:// + lemontagnard.cine.allocine.fr/");  //Alors afficher le site
          println ( nom_cinema[i] );
          link(Ad_internet[i]);
          return; // exit
        } // if
      } // for
    } // func 
    //
    
  • edited May 2014

    good evening, I think you have spent a time with the code. :) it's a bit difficult to understand the codes. When I added on processing the code that you give me. It not running Then, I have some questions; Why you write ; println("\n**************************************************************\n");

    println ("end for-loop--------------------------------");

    final String quotationMark = "\"";

  • edited May 2014

    what is this data[5] and data [6]

    Location MontagnardLocation = new Location(data[5], data[6]); //(longitude;lattitude)

  • It runs.

    Also the two printlns are just for debugging, to see if setup() is finished.

    I defined "\"" to make it better readable

  • edited May 2014

    Ahh okey, I wanted to understand the code. I want to say, when I execute the program too bug. The map moves very slowly and when I move the map, the red points don't move with the map. they remain stable. So the gray spots appear :((

  • I think that I will not add red arc on gray points. I want just to change the color of gray points. Doing red for example. so I used; MontagnardMarker.setColor(color(255, 0, 0, 255)); //Couleur des points

    :) Thank so much for your helps ..

  • edited May 2014

    you mean it's too big and too slow (not too bug)

    you wrote:

    what is this data[5] and data [6]

    Location MontagnardLocation = new Location(data[5], data[6]); //(longitude;lattitude)

    old version of my code. Forget it.

  • your setup()

    your setup() is very long. The for-loop line is always the same (80,91,102...) and the line after this as well (81,92,103...) - you can have all in one for-loop. It's not too bad since setup() runs only once, other than setup().

    your draw()

    your draw() is slow because you draw the map each time. It would be cool if you draw the map only once. And then draw the map only when user did pan or zoom it. I am not sure how to do it. Or how to optimize the map otherwise.

  • this new version now:

    when you move the map the cinemas also move.

    import de.fhpotsdam.unfolding.mapdisplay.*;
    import de.fhpotsdam.unfolding.utils.*;
    import de.fhpotsdam.unfolding.marker.*;
    import de.fhpotsdam.unfolding.tiles.*;
    import de.fhpotsdam.unfolding.interactions.*;
    import de.fhpotsdam.unfolding.ui.*;
    import de.fhpotsdam.unfolding.*;
    import de.fhpotsdam.unfolding.core.*;
    import de.fhpotsdam.unfolding.mapdisplay.shaders.*;
    import de.fhpotsdam.unfolding.data.*;
    import de.fhpotsdam.unfolding.geo.*;
    import de.fhpotsdam.unfolding.texture.*;
    import de.fhpotsdam.unfolding.events.*;
    import de.fhpotsdam.utils.*;
    import de.fhpotsdam.unfolding.providers.*;
    //Importation de la librairies Unfolding Maps (permet la création d&apos;un point avec SimplePointMarker : Menu Sketch -> Import Library -> Unfolding Maps
    
    import de.fhpotsdam.unfolding.*; 
    import de.fhpotsdam.unfolding.geo.*; 
    import de.fhpotsdam.unfolding.utils.*;
    import de.fhpotsdam.unfolding.providers.*; //La librairie provider pour le style de la carte
    //LES LIBRAIRIES Unfolding pour la carte
    
    UnfoldingMap map;  //pour créer un objet carte
    SimplePointMarker MontagnardMarker; //Permet de definir le point Montagnard pour ensuite l&apos;utiliser dans le programme
    
    final String quotationMark = "\""; 
    
    String[] lines; 
    String[] nom_cinema;
    String[] Ad_internet; 
    SimplePointMarker[] montagnardPositions;  
    
    // -------------------------------------------------------------------
    
    void setup() { //Initialisation
      size(800, 600, P2D); //Taille de la fenêtre  (Largeur, Hauteur)
      background(0);
      map = new UnfoldingMap(this, new Microsoft.AerialProvider());  //L&apos;utilisation de la librairie pour le fond de la carte
      map.zoomAndPanTo(new Location(47.5f, -1.4f), 10);  //les coordonnées géographiques de la PDL
      MapUtils.createDefaultEventDispatcher(this, map); //?? reconnait le map (fond) ?? 
    
      Location PDLLocation = new Location(47.5f, -1.4f); //La lattitude et la longitude de la PDL
      map.zoomAndPanTo(PDLLocation, 10);  //L&apos;affichage de la carte à 10 km de vu panoramique
      float maxPanningDistance = 30; // en km , On peut faire glisser maximum 30 km la carte
      map.setPanningRestriction(PDLLocation, maxPanningDistance); //Restriction de la location et la Distance
      map.setZoomRange(10, 20); //le zoom maximal sur un point choisi
    
      //PARTIE D&apos;ALEXIANE*************************************************************
      //********************************************************************************
    
      lines = loadStrings("donneesopendataavecmodif.csv");//création d&apos;un tableau
      println("il y a " + lines.length + " lignes");//affichage du nombre de lignes 
    
      nom_cinema=new String[ lines.length]; //création du tableau nom_cinéma
      String[] decoup=new String[8]; //création d&apos;un tableau de découpe
      String[] coupe=new String[2]; //création d&apos;un tableau de découpe
      String[] coupe2=new String[3]; // création d&apos;un tableau de découpe 
      String[] coupe3=new String[10];// création d&apos;un tableau de découpe 
      String[] adresse_internet=new String[lines.length]; //création du tableau des sites internet
      Ad_internet=new String[lines.length]; //création du tableau des sites internet
      String[] longi=new String[lines.length]; // création du tableau provisoire des longitudes
      Float [] longitude=new Float[lines.length]; // création du tableau des longitudes
      String[] lati=new String[lines.length]; //création d&apos;un tableau provisoire des latitudes
      Float[] latitude=new Float[lines.length]; //création d&apos;un tableau des latitudes
      montagnardPositions=new SimplePointMarker[lines.length];
    
      //afficher la liste des noms des cinémas
      for (int i = 1; i <  lines.length; i++) { //
        decoup = split( lines[i], ","   );//découpage de chaque ligne
        nom_cinema[i]=decoup[0]; //remplissage du tableau nom_cinema 
        //println("Nom du cinéma "+i+" : "+ nom_cinema[i]);//affichage du nom du cinéma
        coupe2=split( nom_cinema[i], quotationMark );//découpage de chaque guillemet
        // println("nom_cinema :     "+coupe2[1]); //affichage nom des cinémas
        nom_cinema[i]=coupe2[1];
      }     
    
      //afficher l&apos;adresse internet
      for (int i =1; i <  lines.length; i++) { //
        decoup= split( lines[i], ","  );//découpage de chaque ligne
        adresse_internet[i]=decoup[4];//remplissage du tableau sites internet
        // println("Adresse internet du cinéma "+i+" :  "+adresse_internet[i]);//affichage de l&apos;adresse internet
        coupe3=split( adresse_internet[i], quotationMark         );//découpage de chaque guillemet
        //println("adresse_internet :  "+coupe3[2]); //affichage des sites internet
        Ad_internet[i]=coupe3[2];
        //println("adresse_internet :  "+Ad_internet[i]); //affichage des sites internet
      }
    
      // longitude
      for (int i =1; i <  lines.length; i++) { //
        decoup= split( lines[i], ","   );//découpage de chaque ligne
        longi[i]=decoup[5];//remplissage du tableau des longitudes
        //println("Mauvaise longitude "+i+" :   "+longitude[i]);//affichage de la longitude
        coupe=split( longi[i], "[");//découpage de chaque crochet
        longitude[i]=float(coupe[1]); //
        //println("longitude :      "+longitude[i]); //affichage des longitudes
      }
    
      // latitude
      for (int i =1; i <  lines.length; i++) {//
        decoup= split( lines[i], ","   );//découpage de chaque ligne
        lati[i]=decoup[6];//remplissage du tableau des latitudes
        //println("Mauvaise latitude "+i+" :  "+latitude[i]);//affichage de la latitude
        coupe=split( lati[i], "]");//découpage de chaque crochet
        latitude[i]=float(coupe[0]);// pour pouvoir afficher les points sur le carte car float:réel et string: chane de caractère
        //println("latitude :       "+latitude[i]);// affichage des latitudes
    
        Location MontagnardLocation;
        MontagnardLocation = new Location(longitude[i], latitude[i]);
        MontagnardMarker = new SimplePointMarker(MontagnardLocation);  //Marquage de Montagnard
        map.addMarkers(MontagnardMarker);
        montagnardPositions[i] = MontagnardMarker;
      } // for 
    
        //Le boucle for pour lire tout les établissement.
    } // func 
    
    //FIN DE LA PARTIE D&apos;ALEXIANE*****************************************
    
    void draw() {
    
      background(0);
    
      //La commande pour l&apos;affichage de la carte
      map.draw();  //Commande de map
    
      Location location = map.getLocation(mouseX, mouseY); //On peut affiché sur l&apos;écran les coordonnées géographiques 
      fill(0); //Remplir (couleur)
      text(location.getLat() + ", " + location.getLon(), mouseX, mouseY); //le nombre à droite presente la lattitude et le gauche : longitude
    
      // CODE POUR MARQUER UN POINT SUR LA CARTE
    
      for (int i = 1; i < montagnardPositions.length; i++) {
    
        ScreenPosition MontagnardPos = montagnardPositions[i].getScreenPosition(map);  //position marquer sur l&apos;ecran
        strokeWeight(8);  // la grandeur de l&apos;arc
        stroke(200, 0, 0, 200); //Couleur de l&apos;arc
        strokeCap(SQUARE); //Type de pointage
        noFill();
        float s = 30; //Grandeur du pointage
        arc(MontagnardPos.x, MontagnardPos.y, s, s, -PI * 0.9, -PI * 0.1); // Pour découper l&apos;arc de haut
        arc(MontagnardPos.x, MontagnardPos.y, s, s, PI * 0.1, PI * 0.9); // Pour découper l&apos;arc de bas
        fill(0); //Couleur de l&apos;écriture
        // text("Cinéma", MontagnardPos.x - textWidth("Cinéma") / 2, MontagnardPos.y + 4);
        textAlign(CENTER);
        text(nom_cinema[i], MontagnardPos.x, MontagnardPos.y + 4);
      } // for
    } // func 
    
    void mousePressed() {
      // Si on clique ...
      // check pos 
      for (int i = 1; i < montagnardPositions.length; i++) {
        ScreenPosition MontagnardPos = montagnardPositions[i].getScreenPosition(map);  //position marquer sur l&apos;ecran
        float L= MontagnardPos.x; //Definir le variable L longitude
        float l= MontagnardPos.y; // Definir le variabli l lattitude
        if ( mouseX > L-15 && mouseX<L+15 && 
          mouseY>l-15 && mouseY<l+15 ) //Si on clique ...
        {
          // link("http:// + lemontagnard.cine.allocine.fr/");  //Alors afficher le site
          println ( nom_cinema[i] );
          link(Ad_internet[i]);
          return; // exit
        } // if
      } // for
    } // func 
    //
    
  • thanks so much, you're very nice :) :x

  • thanks!

Sign In or Register to comment.