jQuery и JavaScript внутри информационного окна Google Maps API V3 - PullRequest
0 голосов
/ 20 марта 2012

Я пытаюсь запустить некоторый код jQuery и JavaScript в HTML внутри infowindow на моей карте с большим количеством маркеров.

Проблема в том, что код работает, когда я нажимаю второй раз на маркер дляоткрыть infowindow.Это часть кода, которая должна центрировать изображение внутри информационного окна:

infowindow.setContent(boksic);
infowindow.open(map, marker);
var images = $(".slika_centiraj_karta");
for(var c = 0; c<images.length; c++) centerImage(images[c]);

1 Ответ

0 голосов
/ 22 марта 2012

Я нашел решение; Швы, такие как infowindow, имеют некоторое время ожидания, прежде чем оно откроется, и мне пришлось добавить какое-то время ожидания для моей функции, например:

infowindow.setContent(boksic);
infowindow.open(map, marker);
setTimeout(function () { 
var images = $(".image_center_infowindow");
for(var c = 0; c<images.length; c++) centerImage(images[c]);
}, 150); 

Функция centerImage центрирует изображение на фиксированном <div> в зависимости от ориентации изображения.

Существует также лучшее решение с прослушивателем событий информационного окна Google Maps, который ждет, пока загрузится информационное окно, а затем выполняет код:

infowindow.setContent(boksic);
infowindow.open(map, marker);
google.maps.event.addListener(infowindow, 'domready', function(event) {
var images = $(".image_center_infowindow");
for(var c = 0; c<images.length; c++) centerImage(images[c]);
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...