// JavaScript Document var gSGM_map; var gARB_recherche = new AjaxRechercheBien(); gARB_recherche.set_recherche('ogis'); gARB_recherche.methode('set_nb_annonces_par_page', 500); var gs_arguments_sup = ''; function charger() { var contenu_html = "
Bienvenue à Sitimmo

Sitimmo c'est la grande classe.
"; gSGM_map = new SitiGoogleMap("rennes FRANCE", "map"); gSGM_map.set_icone("images/cube-carte.png"); gSGM_map.set_icone_survolee("images/cube-carte-bleu.png"); gSGM_map.set_icone_cliquee("images/cube-carte-bleu.png"); gSGM_map.set_icone("images/cube-cdc-carte.png", true); gSGM_map.set_icone_survolee("images/cube-carte-bleu.png", true); gSGM_map.set_icone_cliquee("images/cube-carte-bleu.png", true); gSGM_map.activer_icone_cliquee(); gSGM_map.activer_icone_survolee(); //lSGM_map.centrer_coordonnees(40 ,40); //lSGM_map.centrer_adresse('24 rue du champ marque 35760 Saint Gregoire FRANCE'); //lSGM_map.placer_point_coordonnees(48.152224, -1.688432); } // Effectue une recherche sur la globalité de la france function recherche_globale() { var lsa_villes = gARB_recherche.methode('nb_annonces_par_ville', true, true); gSGM_map.limiter_zoom( 1, 11 ); afficher_villes_avec_nb_annonces(lsa_villes); } // Effectue une recherche avec un argument de recherche supplementaire function recherche_avec_argument( ps_argument, ps_valeur ) { //gSGM_map.set_zoom(12); gSGM_map.initialisation_carte(); lsa_methodes = new Array(); lsa_arguments = new Array(); lsa_methodes.push("set_" + ps_argument); lsa_arguments.push(ps_valeur); lsa_methodes.push("set_type_prestation"); lsa_arguments.push('L'); lsa_methodes.push("set_adresses_geolocalisables"); lsa_arguments.push(true); gARB_recherche.methodes_arguments(lsa_methodes,lsa_arguments); // Apres une recherche on affiche les biens distincts si on est proche if( ps_argument == 'ville' && ps_valeur != '' ) { ls_ville = ps_valeur; gSGM_map.limiter_zoom( 1, 14 ); zoomer_ville(ls_ville, 12); } else { ls_ville = gARB_recherche.methode("get_ville"); } if( gSGM_map.get_zoom() >= 12 && ls_ville ) { laa_annonces = gARB_recherche.methode_arguments( "annonces",null, new Array("get_id","get_titre","get_objet->get_type->get_libelle","photo_principale_miniature_url","get_bien->get_longitude","get_bien->get_latitude","url_detail", "get_prestation->get_prix_loyer_formate", "get_bien->get_reference_programme", "get_bien->get_id_programme_neuf" ) ); afficher_annonces( laa_annonces ); } else { var lsa_retour = gARB_recherche.methode('nb_annonces_par_ville', true, true); afficher_villes_avec_nb_annonces(lsa_retour); } } // Permet d'afficher des points sur la carte pour chaque ville avec un resultat function afficher_villes_avec_nb_annonces( psa_villes ) { //gSGM_map.effacer_tout(); for (ville in psa_villes) { var adresse = ville; var nb_annonces = psa_villes[ville]['nb_annonces']; var long = psa_villes[ville]['longitude']; var lat = psa_villes[ville]['latitude']; var ls_url_page_resultat = psa_villes[ville]['url_page_resultat']; var contenu_html = '
'+adresse+'
Nb annonces : ' + nb_annonces + '
Zoomer sur '+ville+'
'; contenu_html += '
Voir toutes les annonces de '+ville+'
'; var lGM_marker_actuel = gSGM_map.placer_point_coordonnees(lat, long, contenu_html); gSGM_map.visibilite_selon_zoom(lGM_marker_actuel, 1, 11); } gSGM_map.rafraichir_carte(); } function placer_point(ls_adresse_complete, contenu_html) { gSGM_map.placer_point_adresse(ls_adresse_complete, contenu_html); } // Affiche un point pour chaque annonce. // Créé un contenu html pour chaque annonce en se basant sur les infos // contenu dans le tableau passé en parametre function afficher_annonces( paa_annonces ) { //gSGM_map.effacer_tout(); for( k=0; kget_latitude"]; var li_longitude = la_annonce_info["get_bien->get_longitude"]; var li_ref_pn = la_annonce_info["get_bien->get_reference_programme"]; // On place notre marker au coordonnées spécifiées // On récupère ce marker qui est : // - soit un nouveau fraichement créé // - soit un deja existant donc le nombre d'annonce associée à augmenté // programme neuf ? var lb_pn = false; if( li_ref_pn != '' ) { lb_pn = true; } var lGM_marker_actuel = gSGM_map.placer_point_coordonnees(li_latitude,li_longitude,null,la_annonce_info, lb_pn); gSGM_map.visibilite_selon_zoom(lGM_marker_actuel, 12, 17); var ls_contenu_html = construire_html_bulle(lGM_marker_actuel); gSGM_map.ajouter_contenu_html_point(lGM_marker_actuel, ls_contenu_html, lb_pn); } gSGM_map.rafraichir_carte(); } // Construit le contenu Html d'une bulle function construire_html_bulle( pGM_marker_actuel ) { var ls_contenu_html; if( pGM_marker_actuel.tag.length > 1 ) { ls_contenu_html = construire_html_annonces(pGM_marker_actuel); } else { ls_contenu_html = construire_html_annonce(pGM_marker_actuel); } return ls_contenu_html; } // Construit le contenu html d'une bulle si celle ci contient qu'une seule annonce function construire_html_annonce( pGM_marker_actuel ) { var lsa_annonce_info = pGM_marker_actuel.tag[0]; var li_id = lsa_annonce_info["get_id"]; var ls_titre = lsa_annonce_info["get_titre"]; var ls_libelle = lsa_annonce_info["get_objet->get_type->get_libelle"]; var ls_photo_url = lsa_annonce_info['photo_principale_miniature_url']; var ls_url_detail = lsa_annonce_info['url_detail']; var ls_ville = lsa_annonce_info["get_bien->get_ville_reelle"]; var ls_prix = lsa_annonce_info["get_prestation->get_prix_loyer_formate"]; var li_ref_pn = lsa_annonce_info["get_bien->get_reference_programme"]; var li_id_pn = lsa_annonce_info["get_bien->get_id_programme_neuf"]; var ls_contenu_html = ''; if( li_ref_pn != '' ) { ls_contenu_html = '
'+ls_titre+'
'; } else { ls_contenu_html = '
'+ls_titre+'
'; } if( ls_photo_url != false ) { ls_contenu_html += '
'+ls_libelle+'
'; } else { ls_contenu_html += ''; } ls_contenu_html += '
'+ls_prix+'
'; return ls_contenu_html; } // Construit le contenu html si la bulle doit contenir plusieurs annonces function construire_html_annonces( pGM_marker_actuel ) { var ls_contenu_html = ''; ls_contenu_html = '
'+pGM_marker_actuel.tag.length+' biens à cette adresse
'; for( li=0; liget_type->get_libelle"]; var ls_photo_url = lsa_annonce_info['photo_principale_miniature_url']; var ls_url_detail = lsa_annonce_info['url_detail']; var ls_ville = lsa_annonce_info["get_bien->get_ville_reelle"]; var ls_prix = lsa_annonce_info["get_prestation->get_prix_loyer_formate"]; var li_ref_pn = lsa_annonce_info["get_bien->get_reference_programme"]; var li_id_pn = lsa_annonce_info["get_bien->get_id_programme_neuf"]; ls_contenu_html += '
'; if( li_ref_pn != '' ) { ls_contenu_html += '
'; } else { ls_contenu_html += '
'; } ls_contenu_html += ''+ls_titre+'
'+ls_prix+'
'; } if( li_ref_pn != '' ) { ls_contenu_html += '
'; } return ls_contenu_html; } // Centrer sur une ville function zoomer_ville(ps_ville, pi_zoom) { gSGM_map.set_zoom(pi_zoom); gSGM_map.centrer_adresse(ps_ville+", FRANCE"); } function set_arguments_sup( ps_arguments ) { gs_arguments_sup = ps_arguments; } function desactiver_bulle_html( ) { gSGM_map.desactiver_bulle_html(); } function limiter_zoom( pi_zoom_min, pi_zoom_max ) { gSGM_map.limiter_zoom( pi_zoom_min, pi_zoom_max ); }