2011-08-28 6 views
1

J'utilise Google Map Api v3. Je tournerai ma carte de hauteur div avec la JQuery suivante:Redimensionner google map continouosly

$(document).ready(function() { 
    var wHeight = $(document).height(); 
    var mapHeight = wHeight - 120; 
    $("#map_canvas").css('height' , mapHeight); 
    }); 

J'ai barre supérieure div en haut, c'est pourquoi je soustrais 120 pixels et régler la hauteur de toile de carte. Cela fonctionne très bien au chargement de la page, mais je ne peux pas obtenir la carte à redimensionner lorsque je redimensionne le navigateur, il reste le même.

Je sais qu'il ya un événement resize dans l'API:

google.maps.event.trigger(map, "resize"); 

Je ne sais pas comment combiner cette ligne au-dessus JQuery pour travailler.

Merci.

Répondre

0

Je pense que vous pouvez résoudre votre problème avec le CSS suivant:

#map_canvas { position: absolute; top: 120px; left: 0; right: 0; bottom:0; z-index: 1; overflow: hidden; } 
+0

Merci encore Trott. Je suppose que je dois utiliser du javascript avec votre CSS pour obtenir la hauteur de la carte à 100% -120px. Juste cacher le débordement serait correct, seulement il coupe le logo de Google et les contrôles placés au bas de la carte. – elbatron

0

Utilisation .resize:

$(window).resize(function() { 
    var wHeight = $(document).height(); 
    var mapHeight = wHeight - 120; 
    $("#map_canvas").css('height' , mapHeight); 
}); 
+0

Merci. Ça ne marche pas pour moi. Je perds aussi ma taille initiale. Lorsque j'essaie de sortir le mapHeight var avec l'alerte (mapHeight) pour vérifier la valeur rien ne se passe. – elbatron

+0

Ne devrait-il pas être '$ (window) .height()' au lieu de _'document'_? –