Résoudre le bug Google Maps vs IE7

IE7 (bouh !) n’est pas un navigateur de compet’, c’est comme ça, c’est dans ses gènes. Malheureusement, il n’en reste pas moins le navigateur le plus utilisé par le grand public (nous, les geeks/nerds, bref l’élite … on tourne avec Firefox, Opera, Chrome ou Lynx pour les plus hardcore ^^)

Donc, IE7 (bouh !) est très utilisé. J’ai été contacté par un client la semaine dernière qui avait un bug avec une carte Google Maps qu’il avait intégré dans de nombreuses pages de son site : Sa carte ne s’affichait pas correctement sous IE7 (bouh !), en effet, celle-ci présentait un affreux carré gris sur toute la moitié droite.

J’ai d’abord pensé à un problème de HTML mal formé (pas standard…), mais même en le rendant plus propre ça ne changeait rien…

Ensuite, j’ai pensé à un problème de gestion des ressources mémoires par IE7, mais même pas. La mémoire était bien libérée à chaque fermeture/changement de page.

Puis, en fouillant sur le net, je suis tombé sur THE SOLUTION ! En fait, lorsque vous souhaitez afficher une carte Google Maps, vous définissez un cadre (<div …>) auquel vous donnez une taille (en css : height et width …) Ensuite, vous “lancez” l’affichage de la carte en créant un nouvel objet (GMaps() auquel vous précisez le cadre à utiliser) . Ça marche, pour quasi-tous les navigateurs.

Malheureusement, IE7 n’est pas très fort (les standards, toussa …), et n’est même pas capable d’aller relire les dimensions du cadre pour y coller la carte… Donc, il faut “forcer” cette taille lors de la création de l’objet GMaps en lui donnant un paramètre supplémentaire qui est un objet de type GSize()….

Voici donc la syntaxe finale, c’est cadeau, ça me fait plaisir :

var maCarte = new GMaps(“#monDiv”,new GSize(800,600));

Tags: , , , ,

Lundi, mai 4th, 2009 How To, Services Web, WebDev

2 commentaires to Résoudre le bug Google Maps vs IE7

  • Dadou dit :

    Ahhhhhh… Merci !!

    J’ai failli en vouloir à google ! Finalement je me suis raisonné pensant qu’ils étaient quand même fort et que leur moteur allait m’aider car c’est un peu mon ami…

    Bref : Cool !

    Pour info : J’ai eu ce bug sur firefox 3.5.7
    J’ai d’abord pensé que j’avais défini une taille inhabituelle pour gmap (400×400)
    Ah et c’est aussi apparu une fois sur chrome, donc à mon avis ça vient plus de gmap.

    Bref en tout cas ça marche nikel là donc merci encore !

  • Loïc dit :

    Hello David,
    ravi d’avoir pu t’aider ^^

    J’ai bien galéré également sur ce bug :p

  • Leave a Reply