- Home
- Categorie
- Digital Marketing
- Turismo e Marketing
- Integrazione di google maps non corretta
-
Integrazione di google maps non corretta
Ciao a tutti. Ho inserito una google map in un sito di un'agenzia x visualizzare la collocazione delle sue filiali. Ho però un problema: il numero di marker visualizzati nella mappa varia sia in base al browser utilizzato sia se ricarico la pagina. Non riesco a capire di che problema si tratti.
Di seguito riporto il codice js relativo alla google map:[HTML]<script src="xxxx://maps.google.com/maps?file=api&dev=2&hl=it&key=codice" type="text/javascript"></script>
<script type="text/javascript">var map = null; var geocoder = null; icona = new GIcon(); icona.image = "img/marker.png"; icona.iconSize = new GSize(12, 20); icona.iconAnchor = new GPoint(6, 20); icona.infoWindowAnchor = new GPoint(6, 20); icona.shadowSize = new GSize(24, 20); function load() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map")); map.addControl(new GSmallMapControl()); map.setCenter(new GLatLng(37.4419, -122.1419), 13); geocoder = new GClientGeocoder(); } } function createMaker(address, infos, contatore){ if (geocoder) { geocoder.getLatLng(address, function(point){ if (!point){ //alert(address + " not found"); } else{ map.setCenter(point, 5); /*condizione: se è filiale principale visualizzo marker altrimenti marker2. Lo stabilisco verificando l'indirizzo mail*/ var condizione=true; if (infos.indexOf("[email protected]")>0 || infos.indexOf("[email protected]")>0){ condizione=false; } if (condizione){ icona.image="img/marker2.png"; } else{ icona.image="img/marker.png"; } var marker = new GMarker(point, icona); GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(infos+"<br />"); }); map.addOverlay(marker); } } );//geocoder }//if }//createMaker function showAll(){ var indirizzi=Array(<?=$vettore?>); /* indirizzo filiale */ var infos=Array(<?=$franchisor?>); /* info da visualizzare sulla filiale */ for(i=0; i<indirizzi.length; i++){ createMaker(indirizzi*, infos*, i); } }//showAll //]]> </script>
</head>
<body onLoad="load(); showAll();" onUnload="GUnload()">
<div id="map" style="width: 380px; height: 420px"></div>
</body>[/HTML]
La funzione showAll serve per creare il vettore degli indrizzi e delle informazioni relativi alle varie filiali. Queste informazioni vengono recuperate da DB e salvate come stringhe in due var php, cioè $vettore e $franchisor.
Qualcuno mi sa dire il motivo del diverso comportamento dei brawser? C'è qualche errore nel codice?
Per chi volesse guardare direttamente la mappa la trova all'indirizzo
XXX.finanziariam3.it/m3points.phpGrazie
-
Credo bisognerebbe vedere che valore restituiscono le variabili php usate all'interno del codice Javascript.
-
Ciao marcocarrieri. Ritieni che il codice che ho scritto è giusto? Con js nn sono tanto pratica...
Nella stringa $vettore ho l'elenco di tutti gli indirizzi. Ogni indirizzo è posto tra '' ed è separato dagli altri con ,.
In pratica, se stampo il valore $vettore ottengo 'Via Possidonea 42, Reggio Calabria','Via Tacito 7, Roma',......Quando converto questa stringa in vettore js gli apici e le virgole scompaiono.
Ho notato che firefox visualizza sempre i primi 10 indirizzi del db, tutti gli altri x lui sono un optional.
Grazie ancora a chi riesce ad aiutarmi.
-
Prova a far stampare solo il vettore, non usarlo direttamente nella mappa.
E vedi se ti stampa lo stesso vettore sia usando Firefox e IE.