Javascript 在google map代码中的for循环条件中传递函数n次每次等待并传递函数
这是创建一个GoogleMap,在GoogleMap中一次性传递n个地址,这是不可能的,这就是我向每个迭代函数传递函数集间隔(2个部分)的方式Javascript 在google map代码中的for循环条件中传递函数n次每次等待并传递函数,javascript,Javascript,这是创建一个GoogleMap,在GoogleMap中一次性传递n个地址,这是不可能的,这就是我向每个迭代函数传递函数集间隔(2个部分)的方式 var directionsDisplay; var directionsService = new google.maps.DirectionsService(); var n; var j=1; var array_list= new Array(n); var array_storename=new Array(n); function Initi
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var n;
var j=1;
var array_list= new Array(n);
var array_storename=new Array(n);
function InitializeMap()
{
directionsDisplay = new google.maps.DirectionsRenderer();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions =
{
zoom: 11,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map"), myOptions);
directionsDisplay.setMap(map);
directionsDisplay.setPanel(document.getElementById('directionpanel'));
var control = document.getElementById('control');
control.style.display = 'block';
document.getElementById('sorttable').style.display="none"
}
function calcRoute(dist,varab)
{
n=document.getElementById('Countnumbers').value;
var start = document.getElementById('startvalue').value;
var end = document.getElementById(dist).innerHTML;
// end=end.replace(/[!@#$%&^*()-+=|\/:;><~]/gi," ");
var request = {
origin: start,
destination: end,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function (response, status)
{
if (status == google.maps.DirectionsStatus.OK)
{
document.getElementById('sorttable').style.display="block";
document.getElementById("total").style.visibility="hidden";
directionsDisplay.setDirections(response);
var route = response.routes[0];
for (var i = 0; i < route.legs.length; i++)
{
var a=route.legs[i].distance.text;
var b=route.legs[i].duration.text;
var bc=a+",About :"+b;
var lblid="Labe"+varab;
document.getElementById(lblid).innerHTML=bc;
var store="lblstore"+varab;
document.getElementById(store).title=end;
var len=10.0;
var dd=route.legs[i].distance.value/1000;
array_list[varab]=dd;
array_list.sort(function(a,b){return a-b});
}
}
});
}
function Button1_onclick()
{
for(j=1;j<=n;j++)
{
document.getElementById('sorttable').style.display="block";
n=document.getElementById('Countnumbers').value;
var ss="lblstorename"+j;
var ss1 =document.getElementById(ss).innerHTML;
//this labels are store my addresss
calcRoute(ss,j);
}
}
var方向显示;
var directionsService=new google.maps.directionsService();
var n;
var j=1;
变量数组\列表=新数组(n);
var array\u storename=新数组(n);
函数初始化映射()
{
directionsDisplay=new google.maps.DirectionsRenderer();
var latlng=新的google.maps.latlng(-34.397150.644);
变异性肌肽=
{
缩放:11,
中心:拉特林,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById(“map”),myOptions);
方向显示.setMap(地图);
DirectionDisplay.setPanel(document.getElementById('directionpanel');
var control=document.getElementById('control');
control.style.display='block';
document.getElementById('sorttable').style.display=“无”
}
功能计算器(varab区)
{
n=document.getElementById('countNumber')。值;
var start=document.getElementById('startvalue').value;
var end=document.getElementById(dist.innerHTML);
//end=end.replace(/[!@$%&^*()-+=\/:;>为了在每次迭代之间增加2秒的延迟,您需要反复调用urcalcRoute(…)
并将for循环代码移到calcRoute
方法中
您的代码应该如下所示-
function Button1_onclick() {
document.getElementById('sorttable').style.display="block";
n=document.getElementById('Countnumbers').value;
var ss="lblstorename"+n;//use n insteadof j
var ss1 =document.getElementById(ss).innerHTML;
calcRoute(ss,j);//only your first call is inside this method. rest all will be recurrsive
}
// making your calcRoute recurrsive
function calcRoute(ss, j){
//your code here
if(--j>0){
var ss="lblstorename"+j;
var ss1 =document.getElementById(ss).innerHTML;//not sure why are u using ss1
setTimeout(function(){calcRoute(ss, j)}, 2000);//here you set your time delay
}
}
太多了…………点…………你能用普通英语而不是代码写吗?明确描述你的问题,陈述你的问题。用代码来说明你尝试了什么,并帮助人们理解你的问题。请看我在上面写了完整的代码。不幸的是,我在反馈弹出窗口中按了“否”,请原谅,您的编码是正确的,请检查并给出解决方案