Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jshint-Don';t在循环中生成函数-谷歌地图_Javascript_Google Maps_Loops_Gulp_Jshint - Fatal编程技术网

Javascript jshint-Don';t在循环中生成函数-谷歌地图

Javascript jshint-Don';t在循环中生成函数-谷歌地图,javascript,google-maps,loops,gulp,jshint,Javascript,Google Maps,Loops,Gulp,Jshint,我创建了一个带有一些标记的谷歌地图(来自wordpress帖子),但当我在控制台上运行“gulp”时,我有一个错误:“不要在循环中生成函数。” 我创建了一个复制我的本地主机的情况,任何人都可以帮我解决这个问题吗 我知道如果我写“//jshint ignore:line”就可以创建脚本,但我认为这个问题可能是我在chrome上遇到的另一个bug的问题:( var infowindow=new google.maps.infowindow(); var gmarkers=[]; 函数初始化(){ m

我创建了一个带有一些标记的谷歌地图(来自wordpress帖子),但当我在控制台上运行“gulp”时,我有一个错误:“不要在循环中生成函数。”

我创建了一个复制我的本地主机的情况,任何人都可以帮我解决这个问题吗

我知道如果我写“//jshint ignore:line”就可以创建脚本,但我认为这个问题可能是我在chrome上遇到的另一个bug的问题:(

var infowindow=new google.maps.infowindow();
var gmarkers=[];
函数初始化(){
map=new google.maps.map(document.getElementById('map'){
缩放:10,
中心:新google.maps.LatLng(51.508293,-0.127701),
mapTypeControl:false,
泛控制:错误,
ZoomControl选项:{
位置:google.maps.ControlPosition.RIGHT\u CENTER
},
mapTypeId:google.maps.mapTypeId.ROADMAP
});
对于(变量i=0;i
使用IIFE函数,将其移出循环并为其命名,如
makeHandler
(但不要调用它)

然后在循环中,执行以下操作:

for (var i = 0; i < locations.length; i++) {
  var marker = new google.maps.Marker({
    position: locations[i].latlng,
    icon: locations[i].marker,
    map: map,
    animation: google.maps.Animation.DROP,
    optimized : false
  });
  gmarkers.push(marker);

  google.maps.event.addListener(marker, 'click', makeHandler(marker, i)); 
}
for(变量i=0;i
使用IIFE函数,将其移出循环并为其命名,如
makeHandler
(但不要调用它)

然后在循环中,执行以下操作:

for (var i = 0; i < locations.length; i++) {
  var marker = new google.maps.Marker({
    position: locations[i].latlng,
    icon: locations[i].marker,
    map: map,
    animation: google.maps.Animation.DROP,
    optimized : false
  });
  gmarkers.push(marker);

  google.maps.event.addListener(marker, 'click', makeHandler(marker, i)); 
}
for(变量i=0;i
为循环中的标记单击创建事件处理程序。您需要按照此处的方式重新排列代码:为循环中的标记单击创建事件处理程序。您需要按照此处的方式重新排列代码:
for (var i = 0; i < locations.length; i++) {
  var marker = new google.maps.Marker({
    position: locations[i].latlng,
    icon: locations[i].marker,
    map: map,
    animation: google.maps.Animation.DROP,
    optimized : false
  });
  gmarkers.push(marker);

  google.maps.event.addListener(marker, 'click', makeHandler(marker, i)); 
}