谷歌在开放时映射infowindow事件

时间:2012-07-05 18:21:13

标签: javascript jquery google-maps google-fusion-tables

您好我正在使用谷歌融合表和谷歌地图,问题是我的标记显示正确,但我想在inforwindow中插入一些图像。 所以问题是我查询这些标记的位置,这些标记可以有很多类别(这就是为什么我不能使用合并表)。当用户点击标记时,infowindow会显示并显示标记上的信息。它过去只包含类别的文本,但我想从每个类别中检索图标以在infowindow上显示该图标。 问题是第二个查询花费的时间比显示信息窗口所花费的时间长。 所以我做了一个蹩脚的修复,我添加了

$('#infoWindowsCatDer').append(info);

在第二个查询结束时,所以我猜你可以看到问题,如果windows显示的时间比查询要长一些会发生什么。这是应该由事件处理的事情吗?

是否有

的事件
lastWindow.open(map);

因此,当infowindow完全打开时,它可以附加图像吗?

1 个答案:

答案 0 :(得分:33)

当InfoWindow对象附加(完全加载)到DOM时,它会触发事件domready事件。您可以在API文档中看到这一点:https://developers.google.com/maps/documentation/javascript/reference#InfoWindow

然后,您可以拥有一个类似下面的监听器,在加载自身后将内容加载到infoWindow中:

var referenceToInfoWindow = new google.maps.InfoWindow({content: 'My info' });

google.maps.event.addListener(referenceToInfoWindow, 'domready', function(){
    //code to dynamically load new content to infowindow
    //for example:
    //    var existing_content = referenceToInfoWindow.getContent();
    //    var new_content = "...";
    //    referenceToInfoWindow.setContent(existing_content + new_content);
});