Visualizzazione dei risultati da 1 a 2 su 2

Discussione: ajax e google maps

  1. #1

    ajax e google maps

    ciao a tutti!!

    devo caricare dinamicamente una semplice google map.

    Lo script di creazione delle mappa e' nella index (ed e' gia' stato testato!),mentre nel file mappa.html mi limito a mettere un div conl'id="map" che e' quello che lo script cerca per metterci la mappa.
    NON FUNZIONA!!!!!

    Secondo me e' perche' al caricamento della index,viene eseguito lo script,che ovviamente non trova l'id="map" in quanto non e' ancora presente nella pagina.
    POi quando questo id viene inserito dinamicamente,siccome la index non e' stata ricaricata (grazie ad ajax) e lo script e' gia' stato eseguito,la mappa non viene visualizzata!!!

    QUALCHE SOLUZIONE????..
    l'unica che ho trovato,e secondo me potrebbe funzionare e' il caricamento dinamico dello script...ma non ho ancora guardato....prima volevo sentire qualche parere.

    GRAZIE

  2. #2

    RISOLTO

    in pratica bisogna prima caricare dinamicamente ll div con l'id che lo scritp della funzione della mappa cerca (io ho usato map )...poi fare le chiamate agli script delle mappe,in modo che nella pagina sia presente tale id.

    ecco lo script completo (per le chimata ajax ho usato la libreria zXml)

    Codice PHP:

    <script type="text/javascript">

    var 
    map null;
    var 
    geocoder null;

    function 
    load() {
      if (
    GBrowserIsCompatible()) {
        
    map = new GMap2(document.getElementById("map"));
        
    map.addControl(new GSmallMapControl());
        
    map.addControl(new GMapTypeControl());
        
    map.setCenter(new GLatLng(41.9163312.482185), 5);
        
    geocoder = new GClientGeocoder();
      }
    }

    function 
    showAddress(address) {
      if (
    geocoder) {
        
    geocoder.getLatLng(
          
    address,
          function(
    point) {
            if (!
    point) {
              
    alert(address " not found");
            } else {
              
    map.setCenter(point16);
              var 
    marker = new GMarker(point);
              
    map.addOverlay(marker);
              
    marker.openInfoWindowHtml(address);
            }
          }
        );
      }
    }




    function 
    request(nomeFile){
        var 
    id document.getElementById("ajax");
        var 
    oXHR zXmlHttp.createRequest();
        
    oXHR.open("GET",nomeFile,true);
        
        
    oXHR.onreadystatechange = function(){
            if(
    oXHR.readyState == 4){
                if(
    oXHR.status == 200 || oXHR.status == 304){
                    
    id.innerHTML oXHR.responseText;
                    
    load(); 
                    
    showAddress('Via Pinco Pallino, 14, ROMA Italy');
                    }
                }
            };
        
    oXHR.send(null);
        return 
    false;
    }

    </script> 

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.