コード例 #1
0
 /**
  *
  * @return string
  */
 private function displayOnMap($criterias, $idHistoriqueEvenementArray, $nbResult)
 {
     $adresses = new archiAdresse();
     $arrayIdEvenementsGA = array();
     foreach ($idHistoriqueEvenementArray as $idHE) {
         $arrayIdEvenementsGA[] = $idHE['idEvenementGroupeAdresse'];
     }
     $gm = new googleMap(array('googleMapKey' => $this->googleMapKey, 'width' => 700, 'height' => 500, 'zoom' => 13));
     $this->addToJsHeader($gm->getJsFunctions());
     // ajout des fonctions de google map dans le header
     // on affiche uniquement les 100 premieres coordonnées
     // preparation du tableau de liste de coordonnées a transmettre a la classe googlemap
     $listeCoordonnees = array();
     $arrayIdEvenementGroupeAdressesConfigGMap = array();
     for ($i = 0; $i < 100 && isset($arrayIdEvenementsGA[$i]); $i++) {
         $reqCoordonnees = "\n\t\t\t\t\tSELECT     IF(ae.latitudeGroupeAdresse<>'0',ae.latitudeGroupeAdresse,ha1.latitude) as latitude,\n\t\t\t\t\tIF(ae.longitudeGroupeAdresse<>'0', ae.longitudeGroupeAdresse,ha1.longitude) as longitude,\n\t\t\t\t\tae.idEvenement as idEvenementGroupeAdresse\n\t\t\t\t\tFROM historiqueAdresse ha2, historiqueAdresse ha1\n\t\t\t\t\tLEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse\n\t\t\t\t\tWHERE ha2.idAdresse = ha1.idAdresse\n\t\t\t\t\tAND ha1.longitude!=''\n\t\t\t\t\tAND ha1.latitude!=''\n\t\t\t\t\tAND ha1.longitude!='0'\n\t\t\t\t\tAND ha1.latitude!='0'\n\t\t\t\t\tAND ha1.longitude IS NOT NULL\n\t\t\t\t\tAND ha1.latitude IS NOT NULL\n\t\t\t\t\tAND ha1.idHistoriqueAdresse = '" . $arrayIdEvenementsGA[$i] . "'\n\t\t\t\t\t\tGROUP BY ha1.idAdresse,ha1.idHistoriqueAdresse\n\t\t\t\t\t\tHAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)\n\n\t\t\t\t\t\t\t";
         $resCoordonnees = $this->connexionBdd->requete($reqCoordonnees);
         $arrayIdEvenementGroupeAdressesConfigGMap[$i]['idEvenementGroupeAdresse'] = $arrayIdEvenementsGA[$i];
         if (mysql_num_rows($resCoordonnees) > 0) {
             $fetchCoordonnees = mysql_fetch_assoc($resCoordonnees);
             $arrayIdEvenementGroupeAdressesConfigGMap[$i]['longitude'] = $fetchCoordonnees['longitude'];
             $arrayIdEvenementGroupeAdressesConfigGMap[$i]['latitude'] = $fetchCoordonnees['latitude'];
             $arrayIdEvenementGroupeAdressesConfigGMap[$i]['idEvenementGroupeAdresse'] = $fetchCoordonnees['idEvenementGroupeAdresse'];
         } else {
             $arrayIdEvenementGroupeAdressesConfigGMap[$i]['longitude'] = 0;
             $arrayIdEvenementGroupeAdressesConfigGMap[$i]['latitude'] = 0;
             $arrayIdEvenementGroupeAdressesConfigGMap[$i]['idEvenementGroupeAdresse'] = '0';
         }
     }
     $retourConfig = $adresses->getArrayGoogleMapConfigCoordonneesFromCenter(array('arrayIdEvenementsGroupeAdresse' => $arrayIdEvenementGroupeAdressesConfigGMap));
     $html = "<h1>" . _("Résultats de la recherche avancée :") . "</h1>";
     if ($nbResult == 0) {
         $html .= _("aucun résultat.") . "<br><br>";
     } else {
         $html .= "<br>" . $nbResult . " " . _("résultats.") . "<br>";
     }
     $html .= $gm->getMap(array('listeCoordonnees' => $retourConfig['arrayConfigCoordonnees'], 'urlImageIcon' => $this->urlImages . "pointGM.png", 'pathImageIcon' => $this->getCheminPhysique() . "images/pointGM.png", 'setAutomaticCentering' => true));
     return $html;
 }