Как я могу сделать изменение размера окон для твитов в Google Maps v3 с помощью Javascript - PullRequest
1 голос
/ 17 июля 2010

Я пытаюсь добавить несколько твитов в информационное окно в Картах Google. Я получаю твиты для отображения в div, который является содержимым моего информационного окна, но это неправильный размер.

Я подумал, что, если щелкнуть маркер, вызвав ' content_changed ', размер информационного окна изменится, а это не так.

Я уверен, что это довольно просто, кто-нибудь может мне помочь?

Спасибо

Джеймс

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);
});

Ответы [ 3 ]

1 голос
/ 17 июля 2010

Попробуйте позвонить infowindow.close(); до open().Я почти уверен, что это заставит его перерисоваться

0 голосов
/ 09 марта 2014

Я закончил с:

infoWindowLinea.setContent(infoWindowLinea.getContent());
0 голосов
/ 01 марта 2012

Это не совсем поддерживаемое решение, но после поиска в Firebug я нашел простой способ принудительно изменить размер окна:

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

Что касается реального W / Hдолжно быть установлено в первой строке, это вопрос просмотра infoWindow.b.contentNode и получения реальной ширины / высоты либо через стандартные свойства, либо с помощью методов jQuery.

Я не совсем уверен, что именно infoWindow.bесть, но кажется, что это какой-то «контентный» объект.Я хотел бы, чтобы они разоблачили это и задокументировали это.

...