Aller au contenu

Appel Gmap via ajax


Olivier69

Sujets conseillés

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 :

<script src="http://maps.google.com/maps?file=api&v=2&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+

Modifié par Olivier69
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...