我在堆栈溢出时找到了针对Google Maps标记的解决方案。 链接在这里。 Google Maps API Multiple Markers with Infowindows
google.maps.event.addListener(marker,'click', (function(marker,content,infowindow){
return function() {
infowindow.setContent(content);
infowindow.open(map,marker);
};
})(marker,content,infowindow));
我的问题是:(标记,内容,信息窗口)放在javascript函数后面的目的是什么?那叫什么呢? 非常感谢您。
答案 0 :(得分:1)
这是一个自调用函数-表示在声明后立即使用这些参数立即调用
答案 1 :(得分:1)
答案 2 :(得分:1)
请参阅达米安(Damian)的官方名称答案。
但是,这只是执行通过执行第一个功能而创建的功能。
如果将代码分成多行,则可能更有意义:
const makeAFuction = function(marker,content,infowindow){
return function() {
infowindow.setContent(content);
infowindow.open(map,marker);
};
}
const listener = makeAFunction(marker,content,infowindow);
google.maps.event.addListener(marker,'click', listener);