Bonjour

Je suis en stage de 1er année BTS SIO et je suis en train de corriger toutes les erreurs dans l'application que mon prédécesseur a développée.

L'application utilise API Google V3 sous le projet GoogleMaps.Subgurim.NET

Nom : infoWindow.png
Affichages : 159
Taille : 47,2 Ko


Alors je n'arrive pas de trouvé l’erreur pourquoi les infos ne s'affiche pas.

Quand je clique sur les différents marqueurs, la taille des info bulles change mais les informations ne s’affichent pas.

D’après le débogage pas a pas, toutes les variables locales contient bien des valeurs.

Merci de me donner la piste pour résoudre ce problème et aussi éventuellement amélioré le code si possible.

Poser des questions si vous avez besoins de savoir si les contenu des variables existe ou autres

Je serai ravis d'avoir m'aider, ça fait un moment que je cherche a résoudre ce problème

Voici la page index.apsx.cs

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
List<GInfoWindow> listeDesInfosBulle = new List<GInfoWindow>();
 GInfoWindow infoWindow;
 //// Bloc Mise en place des markers dans la google Map ///
 for (int i = 0; i < tableDeDesMandataire.Rows.Count; i++)
 {
     string numeroNomDossierAdresse = "<div class=\"infobulle\" > <b>" + leMandataire.nomPrenom + " <br/> Numéro de Dossier </b> :" + tableDeDesMandataire.Rows[i]["CODE_DOS"].ToString() + "<br/> " + " <b> Nom du Majeur </b>:" + tableDeDesMandataire.Rows[i]["nomPrenom"] + " <br/> " + "<b> Adresse Complète </b>:" + tableDeDesMandataire.Rows[i]["adresseDossier"].ToString() + "</div>";
     //Liste des infos bulles sur la carte
 
 
     //Contenu de tous les markers qui vont être passer en revus
     List<string> listeDesMarkers = new List<string>();
 
     //Contenu des markers qui sont présent plusieurs fois
     Dictionary<string, StructureTexteMarker> listeAssosiativeCoordonneesStructureTexte = new Dictionary<string, StructureTexteMarker>();
 
 
     if (Session["infoWindow"] != null) listeDesInfosBulle = (List<GInfoWindow>)Session["infoWindow"];
     if (Session["listeDesMarkers"] != null) listeDesMarkers = (List<string>)Session["listeDesMarkers"];
     if (Session["listeDesMarkersEncoder"] != null) listeAssosiativeCoordonneesStructureTexte = (Dictionary<string, StructureTexteMarker>)Session["listeDesMarkersEncoder"];
     //Récupérer la lattitude longittude d'un dossier
     double latitude = (double)tableDeDesMandataire.Rows[i]["LATITUDE_DOS"];
     double longitude = (double)tableDeDesMandataire.Rows[i]["LONGITUDE_DOS"];
 
     string lattitudeLongitude = latitude.ToString() +" "+ longitude.ToString();
 
         //Si la liste des markers contient la lattitude et la longittude du dossier actuelle
     if (listeDesMarkers.Contains(lattitudeLongitude))
     {
         //On rajoute un nouveau dosssier trouvé avec les mêmes coordonées
         listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].nombreDeDossier += 1;
        //Si le mandataire n'est déja présent dans la structure on l'ajoute pour le compter plus tard
         if(!listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].listeDesNomPrenomsMandataire.Contains(leMandataire.nomPrenom))
         {
          //On ajoute son nom prénom  à la liste
           listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].listeDesNomPrenomsMandataire.Add(leMandataire.nomPrenom);
 
          //On crée un Dictionnaire pour compter son nombre de dossier avec la même géolocalisation
          listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].listeAssociativeNomPrenomDossier.Add(leMandataire.nomPrenom,1);
 
             //Je rajoute à la chaine finale du marker avec le nom du mandataire
          listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].chaineStructurerMandataire += leMandataire.nomPrenom;
 
          }
         //Si il est déja présent on incrémente ses dossiers
         else
         {
           listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].listeAssociativeNomPrenomDossier[leMandataire.nomPrenom] += 1;
         }
 
 
 
 
             //Je calcule le nombre de mandataire
             listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].chaineNombreDeMandataire = listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].compterLeNombreDeMandataire().ToString() + " Mandataire \n ";
 
 
             //Je compte le nombre de dossier total
             listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].chaineNombreDeDossier = listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].compterLeNombreDeDossier() + " Dossier \n";
 
 
             //Je récupère l'adresse et je la mets dans un dictionnaire
             listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].listeDesDossiers[leMandataire.nomPrenom] = numeroNomDossierAdresse;
             string debutChaineStructurer = "<div class=\"infobulle-big\"> <b class=\"centered\">" + listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].chaineNombreDeMandataire + "</b> <br/> <b class=\"centered\">" + listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].chaineNombreDeDossier + "</b> <br/>";
             listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].chaineStructurerMandataire += listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].listeDeToutLesDossiersMandataire(leMandataire.nomPrenom).ToString();
             numeroNomDossierAdresse = debutChaineStructurer += listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].chaineStructurerMandataire + "</div>";
 
             }
 
    else
         {
 
             listeDesMarkers.Add(lattitudeLongitude);
 
             listeAssosiativeCoordonneesStructureTexte.Add(lattitudeLongitude, new StructureTexteMarker());
       }
 
     Session["listeDesMarkers"] = listeDesMarkers;
     Session["listeDesMarkersEncoder"] = listeAssosiativeCoordonneesStructureTexte;
     //Numéro nom et Adresse du Dossier
     //Je remplie la google Map
     infoWindow = GoogleMap.encoderUneValeursInfoAvecUneImage(GMap1, latitude, longitude, numeroNomDossierAdresse, nomDeLimage);
     listeDesInfosBulle.Add(infoWindow);
     Session["infoWindow"] = listeDesInfosBulle;
 }
Ici la page index.apsx

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<cc1:GMap ID="GMap1" enableServerEvents="true" runat="server" />
Ici la page style.css
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
.infobulle{
    height:90px;
    width:300px;
}
.infobulle-big{
    height:200px;
    width:300px;
}

en faite la condition a la ligne 27 est évité et le débogage rentre a la ligne 69.

En faisant changer

if (listeDesMarkers.Contains(lattitudeLongitude))

en

if (listeDesMarkers != Null)

Une erreur s'affiche a la fin de la ligne 30 "La clé donnée était absente du dictionnaire."

Aider moi Svp