Version complète: sur le forum Webmaster Hub : Appel Gmap via ajax
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > AjaX et JavaScript
Olivier69
Salut,

J'ai un souci technique sur lequel je bloque.

Je développe une page avec navigation par onglets en ajax, qui affiche différents contenu.

Sur la page par défaut (onglet qui affiche son contenu par défaut lors du chargement de la page principale), j'affiche une map google.

Le code googleMap est inséré dans le corps de la page, dans un fichier php appelé dynamiquement lors du chargement.
Au lien de body onload j'appelle la fonction via :
CODE
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=<?php print ( $google_map_key ); ?>"
      type="text/javascript"></script>
    <script type="text/javascript">

    //<![CDATA[

    function load() {
      if (GBrowserIsCompatible()) {
          
        var map = new GMap2(document.getElementById("map_mini"));
        
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        
        var center = new GLatLng(<?php print ( $data['gps_lat'] ); ?>, <?php print ( $data['gps_long'] ); ?>);
        map.setCenter(center, 5);
        
        var marker = new GMarker(center, {draggable: false});
        
        GEvent.addListener(marker, "dragstart", function() {
          map.closeInfoWindow();
          });
        
        GEvent.addListener(marker, "dragend", function() {
          marker.openInfoWindowHtml("Just bouncing along...");
          });
        
        map.addOverlay(marker);

        }
    }

    //]]>
    </script>
    
<script type="text/javascript">
window.onload= load;
</script>


En revanche, si on charge le contenu des autres onglets en ajax, au retour sur l'onglet initial (celui par défaut), le contenu s'affiche normalement, sauf la map. A savoir que le script de gestion des map se trouve dans ce fichier php appelé par ajax qui affiche le reste du contenu.

Je suis obligé de recharger la page dans le navigateur pour faire apparaître de nouveau la carte, et je n'arrive pas à la recharger directement via ajax dans la div correspondante.

Je ne comprends pas pourquoi je n'arrive pas à charger cette map via ajax, puisque tout le reste du contenu est chargé sans soucis, et que le script de gestion des map se trouve dans le même fichier qui est appelé par ajax ou lors du rechargement de la page.

C'est dans le même fichier pour avoir le même contenu.

Si quelqu'un peut m'aide, je vous remercie de votre aide parce que je sèche.
A+
iNCiTE Web
T'as pas un lien avec l'exemple ?
Olivier69
Salut, si j'ai un lien que je te donne en MP, le site est en cours de développement et je ne veux pas le rendre public pour l'instant.

Merci de ton aide.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.