我在堆栈溢出时找到了谷歌地图标记的解决方案。链接在这里。 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函数后面的目的是什么?它叫什么?非常感谢您的进步。
这是一个自调用函数 - 这意味着在声明之后立即使用这些参数调用它
请查看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);