2010-08-09 6 views
2

Je travaille sur ce qu'il semblait être une fonctionnalité très simple qui provoque un peu de mal de tête. Je travaille avec un SIG et nous l'intégrons avec Google Maps. L'un des clients a demandé à pouvoir ouvrir une fenêtre séparée affichant uniquement la carte. L'ouverture de la fenêtre n'était pas un problème, mais comme j'essaie d'élargir la largeur de l'IFrame qui contient la carte, pour ajuster la taille de la fenêtre, l'image de la carte reste avec la même taille et un espace blanc remplit le reste espace.API Google Maps - Le redimensionnement génère un espace blanc vide

Je me demande si je dois passer la nouvelle valeur de largeur à une fonction de pré-rendu ou quelque chose comme ça ... J'ai déjà essayé d'utiliser checkResize() mais cela s'est avéré ne pas fonctionner.

La fonction que je utilise pour DARW la carte IFrame va ci-dessous:

DrawMapIFrame() 
{ 
    var str = '<iframe id="mapIFrame" name="mapIFrame" width="97%" height="' + parent.mapFrameHeight + '" src="' + $_URL_FleetMonitiorMapIFrame + '?UserID=' + parent.$_UserID + '&Encoding=' + parent.$_Encoding + '&id=' + _id + '" frameborder="0" scrolling="No"></iframe>'; 
    document.getElementById("mapIFramePlace").innerHTML = str; 
} 

Répondre

8

Soit vous avez besoin d'élargir la div à la taille que vous voulez avant création de la carte, ou vous devez utiliser

google.maps.event.trigger(map, 'resize') 

pour informer l'API que la taille du conteneur a changé.

+0

Merci, j'ai fini par redimensionner le div avant de créer la carte. Bien que comprendre le flux était une tâche difficile =) –