/** * * @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; }