2010-07-17 14 views
1

J'essaie d'ajouter quelques tweets à un infowindow dans Google Maps. Je reçois les tweets à afficher dans un div qui est le contenu de mon infowindow, mais c'est la mauvaise taille.Comment puis-je redimensionner les infowindows pour les tweets dans Google Maps v3 avec JavaScript?

Je pensais en appelant 'content_changed' lorsque le marqueur est cliqué, l'infowindow serait redimensionner - ce n'est pas le cas.

Je suis sûr que c'est assez simple, quelqu'un peut-il m'aider?

Merci,

James

var myLatlng = new google.maps.LatLng(51.500261,-0.126793); 
var myOptions = { 
    zoom: 12, 
    center: myLatlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 

var map = new google.maps.Map(document.getElementById("map_canvas"), 
    myOptions); 

var marker = new google.maps.Marker({ 
    position: myLatlng, 
    map: map, 
}); 

var infowindow = new google.maps.InfoWindow(); 
infowindow.setContent(document.getElementById("station")); 

google.maps.event.addListener(marker, 'click', function() { 
    google.maps.event.trigger(infowindow, 'content_changed'); 
    infowindow.open(map,marker); 
}); 

Répondre

1

Essayez d'appeler infowindow.close(); avant open(). Je suis assez sûr qu'il le forcer à rerender

+0

grâce fantactuka – halfiranian

0

Ce n'est pas exactement une solution prise en charge, mais après farfouillé dans Firebug, j'ai trouvé un moyen facile de forcer un redimensionnement de la fenêtre:

infoWindow.b.contentSize = new google.maps.Size(w, h); 
google.maps.event.trigger(infoWindow.b, 'contentsize_changed'); 

En ce qui concerne la définition du W/H réel sur la première ligne, il faut regarder infoWindow.b.contentNode et obtenir une largeur/hauteur réelle soit par les propriétés standard, soit par les méthodes de jQuery.

Je ne sais pas exactement ce qu'est infoWindow.b, mais il semble que ce soit une sorte d'objet "content". J'aimerais qu'ils exposent cela et qu'ils le documentent.

0

J'ai fini avec:

infoWindowLinea.setContent(infoWindowLinea.getContent());