有没有办法可以淡化InfoWindow的自定义内容?

时间:2014-07-24 19:59:11

标签: javascript jquery google-maps infowindow

我在click设置了一个监听器,用于标记我没有创建GoogleMaps(V3 API)。单击它时,首先我用一些带有“加载”gif的简单纯HTML加载infowindow。

然后我调用一个方法,通过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 个答案:

答案 0 :(得分:1)

您可以将数据附加到具有指定ID的div容器,然后使用jQuery的.fadeIn()方法淡入淡出。由于之前对象尚未隐藏,您可能必须先将其隐藏,然后让jQuery从容器不可见转换为完全可见,如下所示:

$("#mapContentContainer").hide().fadeIn("slow");

修改

Google Maps API V3 InfoBox using jQuery fadeIn and fadeOutIntheblue25赞誉)中描述了更多GoogleMaps特定方式:

»实际上可以淡化信息框,你必须覆盖infobox.js文件中的绘图功能,如下所示:«

var oldDraw = ib.draw;
ib.draw = function() {
    oldDraw.apply(this);
    jQuery(ib.div_).hide();
    jQuery(ib.div_).fadeIn('slow'); 
}