我有一些带有标记的对象。这些对象有动态数据,我想在对象标记的信息窗口中输出它们。到目前为止,这就是我所拥有的:
function createRandomObjectWithAMarker() {
var marker;
var aData = "dataToDisplay";
var infowindow = new google.maps.InfoWindow({
content:callThisFunctionWhenOpenWindow(aData)
});
marker.addListener('click', function() {
infowindow.open(map, marker);
});
randomObject = {
/*
someData
*/
marker: marker
};
return randomObject;
}
我希望在单击标记时调用此函数,以将返回的modifiedData
显示为infoWindow
的content
。
function callThisFunctionWhenOpenWindow(aData){
/*
do some stuff on aData
*/
return modifiedData;
}
但实际上,这个函数只调用一次:只有当我用createRandomObjectWithAMarker()
的调用初始化randomObject
时。因此,如果我在一段时间后显示infoWindow
,当数据与脚本启动时不同时,它仍然会显示相同的输出。有办法做到这一点吗?如果是,如何?
试试这样的东西?
这样,只有当您单击标记时,才会创建信息窗口(及其数据(
function createRandomObjectWithAMarker() {
var marker;
var aData = "dataToDisplay";
marker.addListener('click', function() {
var infowindow = new google.maps.InfoWindow({
content:callThisFunctionWhenOpenWindow(aData)
});
infowindow.open(map, marker);
});
randomObject = {
/*
someData
*/
marker: marker
};
return randomObject;
}