不仅在 init 上打开时调用信息窗口内容的函数
Call function for content of infowindow when opening not only on init
我有一些带有标记的对象。这些对象具有动态数据,我想将它们输出到对象标记的信息窗口中。
到目前为止,这就是我所拥有的:
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;
}
而且我希望在单击标记以将 return 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;
}
我有一些带有标记的对象。这些对象具有动态数据,我想将它们输出到对象标记的信息窗口中。 到目前为止,这就是我所拥有的:
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;
}
而且我希望在单击标记以将 return 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;
}