Google map ne se charge pas entièrement!

Résolu/Fermé
mario002e Messages postés 82 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 8 mai 2012 - Modifié par mario002e le 29/06/2011 à 10:22
mario002e Messages postés 82 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 8 mai 2012 - 30 juin 2011 à 14:16
Bonjour,
J'ai un petit souci depuis que j'utilise jquery pour charger dynamiquement avec ajax ma carte google.
Voici le code:
Dans la page de gauche:

<script type="text/javascript">
$(document).ready(
function () {
$("a").each(
function(){
var ajaxOptions = {};
$(this).click(function() {
if (this.className != "notLoad") {
$("#page").load(this.href, {'idtracker':getTracker()});
return false;
}
});
});
}
);
function getTracker(){
return $("#idtracker option:selected")[0].value;
}
</script>


Dans la page de droite:

<?php
$content .= '<script type="text/javascript">' . "\n";
$content .= "\t" . 'function initialize() {' . "\n";
$content .= "\t" . 'var myLatlng = new google.maps.LatLng(6.125,1.154 );' . "\n";
$content .= "\t" . 'var myOptions = {' . "\n";
$content .= "\t\t" . 'zoom: 8,' . "\n";
$content .= "\t\t" . 'center: myLatlng,' . "\n";
$content .= "\t\t" . 'mapTypeId: google.maps.MapTypeId.' . $this->mapTypeId . "\n";
$content .= "\t" . '}' . "\n";
$content .= "\t" . 'map = new google.maps.Map(document.getElementById("map"), myOptions);' . "\n";
$content .= '}' . "\n";

$content .= "\t" . 'function loadMaps() {' . "\n";
$content .= "\t" . ' google.load("maps", "3", {"other_params":"sensor=false", "callback" : initialize});' . "\n";
$content .= "\t" . '}' . "\n";

$content .= "\t" . 'function initLoader() {' . "\n";
$content .= "\t" . 'var script = document . createElement("script");' . "\n";
$content .= "\t" . 'script.type = "text/javascript";' . "\n";
$content .= "\t" . 'script.src = "https://www.gstatic.com/charts/loader.js?async=2&callback=loadMaps";' . "\n";
$content .= "\t" . 'document.getElementsByTagName("head")[0].appendChild(script);' . "\n";
$content .= "\t" . '}' . "\n";
$content .= "\t" . 'window.onload=initLoader();' . "\n";
$content .= '</script>' . "\n";
print $content;
?>

<div id="map" ></div>


Quand j'appelle la page par son url, ça marche.
Pour la première fois avec ajax, la carte s'est bien affichée. Mais par la suite, en cliquant sur le même lien, un problème se présente: La carte ne s'affiche qu'au tiers.
J'ai cru que c'est le cache qui était à l'origine puisque quand je vide celui du navigateur et je me reconnecte, tout se passe bien. Alors dans jquery, j'ai modifié la méthode load en lui ajoutant l'option cache:false. Mais en vain.
Svp, aidez moi car cela fait déjà 4 jours que ce problème me casse la tête
Veuillez m'aider svp!
A voir également:

1 réponse

mario002e Messages postés 82 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 8 mai 2012 6
30 juin 2011 à 14:16
Je m'excuse pour les informations incomplètes fournies. En fait, la carte était affichée dans le second onglet qui n'était pas le principal. Du coup, je ne comprends pas comment jquery s'y prenait mais quand j'ouvrais l'onglet de la carte, cette carte était affichée au tiers.
Ce matin, en mettant l'onglet de la carte au premier plan (c'est à dire ouvert par défaut), je me suis rendu compte que la carte s'affiche entièrement.
Je suis en ce moment en train de creuser dans ma tête afin de découvrir ce curieux problème des onglets de jquery!
Merci!
0