Есть ли способ, как я могу добавить пользовательский контент в InfoWindow?
У меня включен слушатель click
для маркеров я не создаю GoogleMaps (V3 API). Когда он нажимается, сначала я загружаю информационное окно с простым простым HTML-кодом с "загрузочным" gif.
Затем я вызываю метод, который захватывает контент через ajax и вызывает infowindow.setContent(data)
с загруженным data
, Но переход между анимированным GIF и новым загруженным контентом довольно уродливый. Есть ли способ, которым я могу сделать это fadeIn/fadeOut?
Вот код для функции, которая загружает контент:
function load_infowindow_content(infowindow, user_id){
$.ajax({
url: site_root +'usuario/map_infowindow/' + user_id,
success: function(data) {
infowindow.setContent( data );
}
});
}
Огляделся и ничего не нашел. Заранее спасибо.
1 ответ
Вы можете добавить свои данные в контейнер div с указанным идентификатором, а затем позволить им исчезнуть с помощью jQuery's .fadeIn()
метод. Поскольку объект ранее не был невидимым, вам, возможно, придется сначала спрятать его, а затем позволить jQuery сделать переход из контейнера невидимым в полностью видимый, например так:
$("#mapContentContainer").hide().fadeIn("slow");
РЕДАКТИРОВАТЬ
Более конкретный способ GoogleMaps был описан в Google Maps API V3 InfoBox с использованием jQuery fadeIn и fadeOut ( intheblue25):
"На самом деле в инфобоксе можно исчезнуть, вы должны переопределить функцию рисования в файле infobox.js следующим образом:"
var oldDraw = ib.draw;
ib.draw = function() {
oldDraw.apply(this);
jQuery(ib.div_).hide();
jQuery(ib.div_).fadeIn('slow');
}