在我的项目中,我调用相同的服务超过 2-3 次,以便使用 cloudmode 服务在 javascript 中查找我的路线的距离和时间。
我有一条折线,我得到折线的每个点并将两个连续的点传递给服务以从中获得响应。
我正在做的是
function showPointsRoutes(e)
{
var a = e.target.getLatLngs();
for(var i = 1 ; i < a.length ; i++)
{
var as ="http://routes.cloudmade.com/BC9A493B41014CAABB98F0471D759707/api/0.3/" + a[i-1].lat+","+a[i-1].lng+","+a[i].lat+","+a[i].lng + "/car/shortest.js?callback=getRouteResponse";
addScript(as);
}
}
function getRouteResponse(response)
{
mytimeArray.push[response.route_summary.total_time];
myDistancArray.push[response.route_summary.total_distance];
}
function addScript(url)
{
var script = document.createElement('script');
script.type="text/javascript";
script.src=url;
document.getElementsByTagName('head') [0].appendChild(script);
}
但有时会发生对某些请求的响应迟到的情况。因此,我没有得到适当的时间和点之间的距离。任何人都可以建议某种方式,以便我将数组中的值作为发出请求的顺序。