Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    jquery - map -gmap3 non funziona con php

    Ciao a tutti,
    posto qui xche credo sia il luogo + adatto.

    ho questo problema:

    dunque.. ho uno script jquery che è davvero molto semplice.
    il codice è questo:

    codice:
    $(function(){
    			  	$('#test1').gmap3({ 
    					action:'init',
    					options:{
    						center:[43.54889,10.324101],
    						zoom: 15
    					}
    				},
    				{ action: 'addMarkers',
    					markers:[
    					{lat:43.53010028621878, lng:10.305776608459496, data:'Baracchina Bianca'},
    					{lat:43.56053781461147, lng:10.327523959152245, data:'L-osteria delle belle Donne'}
    					
    					],
    					marker:{
    						events:{
    						mouseover: function(marker, event, data){
    							var map = $(this).gmap3('get'),
    							infowindow = $(this).gmap3({action:'get', name:'infowindow'});
    							if (infowindow){
    								infowindow.open(map, marker);
    								infowindow.setContent(data);
    							} else {
    								$(this).gmap3({action:'addinfowindow', anchor:marker, options:{content: data}});
    							}
    						},
    						mouseout: function(){
    							var infowindow = $(this).gmap3({action:'get', name:'infowindow'});
    							if (infowindow){
    								infowindow.close();
    							}
    						},
    						click: function(marker){window.location = 'http://www.sito.it/struttura/<?= $valore[titolo]; ?>/<?= $valore[idStruttura]; ?>/'}
    						},
    						options: {icon: new google.maps.MarkerImage('http://www.sito.it/images/pin.png')},
    					},
    					
    				});
    lo script funziona alla grande..

    ho però l'esigenza di aggiungere i mark dinamicamente

    allora, banalmente, al posto di

    codice:
    {lat:43.53010028621878, lng:10.305776608459496, data:'Baracchina Bianca'}
    ho messo questo script php semplicissimo che restituisce la lista

    codice:
    <?
    					$sql = "SELECT * FROM strutture WHERE stato = 1 ";
    					//echo $sql;
    					$r = mysql_query($sql);
    					$num = mysql_num_rows($r);
    					$rex = set_array_from_query($sql);
    					$indice = 1;
    					//echo $num;
    					foreach($rex as $valore){
    						if($indice != $num){
    							echo "{lat:".$valore[lati].", lng:".$valore[longi].", data:'".str_replace("'","-", $valore[titolo])."'},\n";
    						} else {
    							echo "{lat:".$valore[lati].", lng:".$valore[longi].", data:'".str_replace("'","-", $valore[titolo])."'}\n";
    						}
    						$indice++;	
    					}
    					?>
    il controllo con $indice serve perchè l'ultimo elemento di markers:[] non vuole la virgola...

    il risultato è che con il codice scritto funziona, se lo prendo da database no.

    ma non solo... se nel codice PHP limito la query con un "LIMIT 0,1" allora funziona.

    In pratica lo script php va benissimo, ma quando c'è + di un elemento non va.

    qualcuno sa dirmi il perchè e come risolvere ?

    grazie
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    posta il codice che invii al browser, un spezzone basta, e controlla la console js

  3. #3
    CODICE TOTALE CHE NON FUNZIONA GENERATO DA PHP
    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
    <
    html xmlns="http://www.w3.org/1999/xhtml" lang="it-IT" xml:lang="it">   
      <
    head
        <
    script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>        
        <script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>
        <script type="text/javascript" src="gmap3.js"></script>
        
        <style>
          .gmap3{
            border: 1px dashed #C0C0C0;
            width: 980px;
            height: 350px;
          }
        </style>
        
        <script type="text/javascript"> 
        
          $(function(){
                      $('#test1').gmap3({ 
                        action:'init',
                        options:{
                            center:[43.54889,10.324101],
                            zoom: 15
                        }
                    },
                    { action: 'addMarkers',
                        markers:[
                        //{lat:43.53010028621878, lng:10.305776608459496, data:'Baracchina Bianca'},
                        //{lat:43.56053781461147, lng:10.327523959152245, data:'L-osteria delle belle Donne'}
                        {lat:43.55455883885926, lng:10.30665637301638, data:'Il viandante'},
    {lat:43.55103065385811, lng:10.31241775798037, data:'Osteria Mod-'},
    {lat:43.53010028621878, lng:10.305776608459496, data:'Baracchina Bianca'},
    {lat:43.56053781461147, lng:10.327523959152245, data:'L-osteria delle belle Donne'}
                        ],
                        marker:{
                            events:{
                            mouseover: function(marker, event, data){
                                var map = $(this).gmap3('get'),
                                infowindow = $(this).gmap3({action:'get', name:'infowindow'});
                                if (infowindow){
                                    infowindow.open(map, marker);
                                    infowindow.setContent(data);
                                } else {
                                    $(this).gmap3({action:'addinfowindow', anchor:marker, options:{content: data}});
                                }
                            },
                            mouseout: function(){
                                var infowindow = $(this).gmap3({action:'get', name:'infowindow'});
                                if (infowindow){
                                    infowindow.close();
                                }
                            },
                            click: function(marker){window.location = 'http://www.sito.it/struttura/L'osteria delle belle Donne/11/'}
                            },
                            options: {icon: new google.maps.MarkerImage('http://www.sito.it/images/pin.png')},
                        },
                        
                    });
          });
        </script>
      <body>
        <div id="test1" class="gmap3"></div>
      </body>
    </html> 
    CODICE CHE FUNZIONA SE SCRIVO NELL'HEADER A MANO

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
    <
    html xmlns="http://www.w3.org/1999/xhtml" lang="it-IT" xml:lang="it">   
      <
    head
        <
    script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>        
        <script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>
        <script type="text/javascript" src="gmap3.js"></script>
        
        <style>
          .gmap3{
            border: 1px dashed #C0C0C0;
            width: 980px;
            height: 350px;
          }
        </style>
        
        <script type="text/javascript"> 
        
          $(function(){
                      $('#test1').gmap3({ 
                        action:'init',
                        options:{
                            center:[43.54889,10.324101],
                            zoom: 15
                        }
                    },
                    { action: 'addMarkers',
                        markers:[
                        {lat:43.53010028621878, lng:10.305776608459496, data:'Baracchina Bianca'},
                        {lat:43.56053781461147, lng:10.327523959152245, data:'L-osteria delle belle Donne'}
                        ],
                        marker:{
                            events:{
                            mouseover: function(marker, event, data){
                                var map = $(this).gmap3('get'),
                                infowindow = $(this).gmap3({action:'get', name:'infowindow'});
                                if (infowindow){
                                    infowindow.open(map, marker);
                                    infowindow.setContent(data);
                                } else {
                                    $(this).gmap3({action:'addinfowindow', anchor:marker, options:{content: data}});
                                }
                            },
                            mouseout: function(){
                                var infowindow = $(this).gmap3({action:'get', name:'infowindow'});
                                if (infowindow){
                                    infowindow.close();
                                }
                            },
                            click: function(marker){window.location = 'http://www.sito.it/struttura/L'osteria delle belle Donne/11/'}
                            },
                            options: {icon: new google.maps.MarkerImage('http://www.sito.it/images/pin.png')},
                        },
                        
                    });
          });
        </script>
      <body>
        <div id="test1" class="gmap3"></div>
      </body>
    </html> 
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  4. #4
    nessuno da dirmi cosa può essere ?
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    c'è un errore in entrambe le versioni nella riga seguente:

    codice:
    click: function(marker){window.location = 'http://www.sito.it/struttura/L'osteria delle belle Donne/11/'}
    C'è un apice di troppo, sistemando questo errore vedo tutto correttamente.

  6. #6
    ho risolto anche (forse grazie a questa cosa).
    comunque assurdo xche se incollavo il codice ... funzionava...

    grazie mille
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.