Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.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 错误:setTimeout调用无效(参数周围缺少引号?)_Javascript_Jquery_Firefox_Google Maps Api 3_Mozilla - Fatal编程技术网

Javascript 错误:setTimeout调用无效(参数周围缺少引号?)

Javascript 错误:setTimeout调用无效(参数周围缺少引号?),javascript,jquery,firefox,google-maps-api-3,mozilla,Javascript,Jquery,Firefox,Google Maps Api 3,Mozilla,Firefox在Chrome中运行正常时出现错误“错误:无用的setTimeout调用(缺少参数的引号?)”。我想在'searchResultBox'div元素中创建一个来自搜索结果的地址数组作为数据。现在我将这些地址一个接一个地传递给GoogleMapAPI以获取地址。我使用了setTimeout来克服Google的“超过查询限制”错误。在Chrome中,它工作正常,但Firefox给出了错误“error:无用的setTimeout调用(参数周围缺少引号?)。我该怎么办 var restura

Firefox在Chrome中运行正常时出现错误“错误:无用的setTimeout调用(缺少参数的引号?)”。我想在'searchResultBox'div元素中创建一个来自搜索结果的地址数组作为数据。现在我将这些地址一个接一个地传递给GoogleMapAPI以获取地址。我使用了setTimeout来克服Google的“超过查询限制”错误。在Chrome中,它工作正常,但Firefox给出了错误“error:无用的setTimeout调用(参数周围缺少引号?)。我该怎么办

var resturantids ='';
var logititude ='';
var  latitude ='';
var add ='';
var rest_name ='';
jQuery('.searchResultBox').each(function(){
resturantids += ''+jQuery(this).attr('data-resturantidsarr')+';';
logititude += ''+jQuery(this).attr('data-logtiresarr')+';';
latitude += ''+jQuery(this).attr('data-latiresarr')+';';
add += ''+jQuery(this).attr('data-addresses')+';';
rest_name += ''+jQuery(this).attr('data-listing-name')+';';

});

var resturantidsarr = new Array();
var logtiresarr=new Array();    
var latiresarr= new Array();
var addresses = new Array();
var resturantname = new Array(); 

resturantidsarr = resturantids.split(";");
logtiresarr = logititude.split(";");
latiresarr = latitude.split(";");
addresses = add.split(";");
resturantname = rest_name.split(";");

var popcontentdisplay;
var c=0;
var b=0;
var i=0;
var delaytime = 10000;
var nextAddress = 0;

var infowindow = new google.maps.InfoWindow();
var latlng = new google.maps.LatLng(latiresarr[0], logtiresarr[0]);
var mapOptions = {
zoom: 12,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var geocoder = new google.maps.Geocoder(); 
var map = new google.maps.Map(jQuery('#map_canvas')[0], mapOptions);
var bounds = new google.maps.LatLngBounds();


function geocodeAddress(resturantid, logtires, latires, address, resturant, next) { 
console.log(nextAddress);
console.log(address);
geocoder.geocode({'address': address}, function (results,status)    { 
if (status == google.maps.GeocoderStatus.OK) {

var addr = results[0].formatted_address;           
var p = results[0].geometry.location;
var addr2 = address.replace(/\+/g, ' ');
popcontentdisplay=resturant+" - \n"+addr2;

console.log(addr2);
console.log(' ');
console.log(' ');

resturantid2=resturantid;
if(logtires == 0 && latires == 0){ 
latires = results[0].geometry.location.lat();
logtires = results[0].geometry.location.lng();
}
var latlng = new google.maps.LatLng(latires, logtires);

var strpara;            
var digits2=resturantid2.toString().length; 
if( digits2 >= 5  ) {
strpara='id='+resturantid2;
} else   {
strpara='post_id='+resturantid2;
}                   
var contentString =  '<div> <a href="<?php echo site_url();  ?>/search-detail/?'+strpara+'"> '+popcontentdisplay +' </a> </div>';
b++;


var marker =  new google.maps.Marker({
position: latlng,
map: map,
clickable: true,               
title: popcontentdisplay,
});
google.maps.event.addListener(marker, 'click', getInfoCallback(map, contentString));
nextAddress++;

}
else {
if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT) {
delaytime += 5000;
//console.log(status);
} else {
console.log(status);
//delaytime += 10000;
console.log(nextAddress);
nextAddress++;
}   
}
next();
});
}

function theNext() {
if (nextAddress < addresses.length-1) {         
setTimeout(geocodeAddress(resturantidsarr[nextAddress],logtiresarr[nextAddress],latiresarr[nextAddress],addresses[nextAddress],resturantname[nextAddress], theNext), delaytime);  
} 
}
theNext();

function getInfoCallback(map, content) {
var infowindow = new google.maps.InfoWindow({content: content});
return function() {
// infowindow.setContent(content); 
infowindow.open(map, this);
};
}
var resturantis='';
var logititude=“”;
var纬度=“”;
var add='';
var rest_name='';
jQuery('.searchResultBox')。每个(函数(){
resturantids+=''+jQuery(this.attr('data-resturantidsarr')+';';
logititude+=''+jQuery(this.attr('data-logtiresar')+';';
纬度+=''+jQuery(this.attr('data-latiresarr')+';';
添加+=''+jQuery(this.attr('data-addresses')+';';
rest_name+=''+jQuery(this).attr('data-listing-name')+';
});
var resturantisar=新数组();
var logtiresarr=新数组();
var latiresarr=新数组();
var addresses=新数组();
var resturantname=新数组();
Resturantisar=Resturantis.split(“;”);
logtiresarr=logititude.split(“;”);
latiresarr=纬度分割(“;”);
地址=add.split(“;”);
resturantname=rest_name.split(“;”);
var-popcontentdisplay;
var c=0;
var b=0;
var i=0;
var延迟时间=10000;
var-nextadress=0;
var infowindow=new google.maps.infowindow();
var latlng=new google.maps.latlng(latiresarr[0],logtiresarr[0]);
变量映射选项={
缩放:12,
中心:拉特林,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
var geocoder=new google.maps.geocoder();
var map=new google.maps.map(jQuery('map#u canvas')[0],mapOptions);
var bounds=new google.maps.LatLngBounds();
功能地理编码地址(resturantid、logtires、latires、address、resturant、next){
console.log(nextadress);
控制台日志(地址);
geocoder.geocode({'address':address},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
var addr=results[0]。格式化的\u地址;
var p=results[0]。geometry.location;
var addr2=address.replace(/\+/g',);
popcontentdisplay=餐厅+“-\n”+addr2;
控制台日志(addr2);
控制台日志(“”);
控制台日志(“”);
resturantid 2=resturantid;
如果(logtires==0&&latires==0){
latires=results[0]。geometry.location.lat();
logtires=results[0]。geometry.location.lng();
}
var latlng=新的google.maps.latlng(latires,logtires);
strpara变种;
var digits2=resturantid2.toString().length;
如果(数字2>=5){
strpara='id='+resturantid2;
}否则{
strpara='post_id='+resturantid2;
}                   
var contentString='';
b++;
var marker=new google.maps.marker({
位置:latlng,
地图:地图,
可点击:正确,
标题:popcontentdisplay,
});
google.maps.event.addListener(标记'click',getInfoCallback(map,contentString));
nextAddress++;
}
否则{
if(status==google.maps.GeocoderStatus.OVER\u QUERY\u LIMIT){
延迟时间+=5000;
//控制台日志(状态);
}否则{
控制台日志(状态);
//延迟时间+=10000;
console.log(nextadress);
nextAddress++;
}   
}
next();
});
}
函数theNext(){
如果(nextAddress
您正在调用函数
geocodeAddress()
,并将该调用的返回值(未定义)传递给
setTimeout()
,这将无效

你的意思可能是这样的:

setTimeout(function () { geocodeAddress(...); }, delaytime);