Filtrare risultati Google Maps

giggi91

Nuovo Utente
10 Lug 2013
4
0
0
Salve ragazzi avrei un piccolo problemino.
In pratica ho due select create tramite ajax; le select in questione sono Regione e Provincia. Se un'utente seleziona ad esempio Lazio come Regione e Roma come Provincia, vengono visualizzati i negozi presenti nella città di Roma, i quali sono presi direttamente dal mio database mysql. Per rendere il tutto più performante ho inserito la mappa dell'italia con Google Maps e i marker vengono estrapolati tutti dal database. Ora vorrei però fare in modo di filtrare la mappa, ovvero se un'utente sceglie di visualizzare i negozi di Roma i marker dovrebbero scomparire tutti lasciando il posto solo a quelli localizzati su tale città.
Di seguito vi posto i file che ho utilizzato che, anche se i marker non vengono aggiornati, potrebbero comunque essere utili a chi cerca di realizzare qualcosa del genere.

Questa è la mia pagina html

Codice:
<head>
    <script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript">
jQuery(document).ready(function() {

jQuery('#sel_regione').change(function(){

            var cont = jQuery('#sel_regione').attr('value');
            jQuery.post("selection.php", {regione_id:cont}, function(data){
            jQuery("#sel_provincia").empty();
            jQuery("div#result").empty();
            jQuery("#sel_provincia").prepend(data);
            });
            });

jQuery('#sel_provincia').change(function(){

            var id_naz = jQuery('#sel_provincia').attr('value');

            jQuery.post("result.php", {provincia_id:id_naz}, function(data){
            jQuery("div#result").empty();
            jQuery("div#result").prepend(data);
            });
            });

});
</script>
<?php $db = mysql_connect("miodb","user","pass");
     mysql_select_db("dbname", $db); ?>

    <script src="http://maps.google.com/maps?file=api&v=2&key=APIKEY" type="text/javascript"></script>
<script type="text/javascript">

var mioMarker = new google.maps.Marker({

                    map: map,
                    icon: mioLogo,
                    title:"mioTitle"
            });

    function createMarker(point,html) {

        var marker = new GMarker(point);
       GEvent.addListener(marker,"click",function(){ top.location = "#" }); 
       return marker;
      }


        function initialize() {
        if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map_canvas"),{ size: new GSize(580,400) } );
        map.removeMapType(G_HYBRID_MAP);
        map.setCenter(new GLatLng(43.036776,12.45758,0), 1);
                map.setZoom(5);
        var mapControl = new GMapTypeControl();
        map.addControl(mapControl);
        map.addControl(new GLargeMapControl());




 <?  $exe1="SELECT lat,lng FROM miatable"; //selezioni latitudine e longitudine
     $result1 = mysql_query($exe1, $db)or die(mysql_error());  //estraggo i risultati
     while(list($lat,$long) = mysql_fetch_row($result1)){ 

            echo "\n var point = new GLatLng(".$lat.",".$long.");\n";
            echo "var marker = createMarker(point,'');\n";
            echo "map.addOverlay(marker);\n";
            echo "\n"; //stampo i risultati con un ciclo loop
    }
?> 

}
    }

    </script>
</head>
<body onload="initialize()" onunload="GUnload()">
<div id="regione">
<?php
include_once 'option.class.php';
$obj = new Option();
$obj->ShowRegione();
?>
</div>

<div id="provincia">
Seleziona una provincia:<br>
<select id="sel_provincia" name="sel_provincia"><option value="no">Scegli...</option>
</select>
</div>

<div id="result">


</div>

        <div id="map_canvas" style="width: 580px; height: 300px"></div> 
</body>

La classe option.class.php

Codice:
<?php
class Option
{
    public $conn;

        public function __construct()
        {
            $this->DbConnectAndSelect();
        }

        protected function DbConnectAndSelect()
        {
            include_once "db_config.php";
            $this->conn = mysql_connect($db_host,$username,$password);
            mysql_select_db($db_name, $this->conn);
            return TRUE;
        }

        public function ShowRegione()
        {
            echo 'Seleziona una regione:<br>';
            echo '<select id="sel_regione" name="sel_regione"><option value="no">Scegli...</option>';

            $sql = "SELECT * FROM table_regione";
            $res = mysql_query($sql,$this->conn);

                while($row = mysql_fetch_array($res))
                {
                    echo '<option value="' . $row['regione_id'] . '">' . $row['nome'] . '</option>';
                }

            echo '</select>';
        }

il file result.php

Codice:
<?php
include_once 'option.class.php';
$obj = new Option();
$obj->ShowResult();
?>

il file selection.php

Codice:
<?php
include_once 'option.class.php';
$obj = new Option();
$obj->ShowProvincia();
?>

Qualsiasi aiuto è altamente apprezzato. Grazie in Anticipo
 

f107

Utente Attivo
7 Ago 2012
203
6
18
Roma
io ho utilizzato $.getJSON() per non far ricaricare la pagina. altrimenti fai un form con le select e quando invii nella query metti i filtri.
In pvt ti mando una cosa
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Filtrare risultati con valori checkbox passati con jquery jQuery 2
G Filtrare i risultati per fascia di prezzo WordPress 2
W Excel come filtrare una tabella Windows e Software 2
S filtrare database mysql MySQL 3
S Come filtrare valori di un array PHP 4
A Strumenti per filtrare il css HTML e CSS 1
N [PHP] filtrare input form di tipo array PHP 0
giancadeejay php WHERE per filtrare PHP 4
giancadeejay Filtrare dati tabella mysql ed estrarli PHP 4
S [PHP] Filtrare nomi tabelle DB PHP 6
S filtrare dati in query MS Access 3
D Filtrare dati da tabella PHP 5
xone Filtrare e ripulire stringhe in input PHP 1
K Filtrare per distanza Classic ASP 3
S Filtrare casella di riepilogo da query UNION MS Access 0
M Filtrare AutoComplete Extender Ajax 1
JellyBelly Passare Parametro per filtrare i maker per google map Javascript 0
P Passare i risultati di un foreach in un modal. Help! PHP 2
G eseguire calcoli matematici su risultati 2 tabelle mysql PHP 4
TpD Incolonnare risultati query (mysql_result deprecato...) PHP 3
S come togliere un post dai risultati di google? Supporto Mr.Webmaster 5
M [PHP] Mostrare risultati di una tabella ma solo se ID è attivo PHP 0
A [MySQL] Ottenere più risultati in un unico campo MySQL 7
Alex_70 [PHP] Ricerca con risultati cliccabili PHP 21
maxnegri [PHP] Eliminare risultati duplicati da ciclo foreach ottenuti da una select php mysqli PHP 18
A [PHP] If e Else paginazione ok ci sono risultati no ma avanti lo stesso PHP 15
G [PHP] operazione matematica tra risultati di query PHP 5
Sangy PHP risultati negativi in rosso PHP 2
P Google risultati di ricerca inappropriati SEO e Posizionamento 1
D [PHP] questi risultati in una tabella PHP 4
trattorino [PHP] Risultati dentro array precisi e confrontabili PHP 7
MikSkagit [PHP] Risultati a video sulla stessa riga PHP 12
V [ASP] paginazione-risultati-query-grandi-dimensioni Classic ASP 8
L [PHP] Creare un uploader di file csv xls e ricercare i risultati PHP 0
U [PHP] estrarre i risultati di una query e visualizzarli in una tabella. PHP 9
T Monitorare risultati Google in base alla località e device di ricerca SEO e Posizionamento 0
G Risultati evidenziato dopo ricerca Classic ASP 4
M [PHP] Evidenziare le parole cercate nei risultati di una ricerca PHP 1
filippino Chiavi a corrispondenza inversa per i risultati organici? (Era: come NON farsi trovare con date chia SEO e Posizionamento 4
JackIlPazzo Ritornare risultati query in un array? PHP 1
F Tabella con prima colonna con i risultati di una query PHP 1
ecosito Risultati di Google all'interno di una pagina del sito? HTML e CSS 7
D Mysql ordinamento risultati MySQL 4
otto9due Rand() o mt_rand() per ottenere risultati alternativi.. non uguali per 3 estrazioni. PHP 5
M Paginazione di risultati query mysql PHP 2
D Problema risultati duplicati PHP 5
D [risolto] Problemi di paginazione dei risultati con una determinata query Classic ASP 4
N Raggruppare risultati di due tabelle PHP 1
M Dividere risultati in colonna in base al contenuto PHP 9
alankanz dividere risultati in pagine MySqli PHP 4

Discussioni simili