私のプロジェクトでは、cloudmodeサービスを使用してjavascriptでルートの距離と時間を見つけるために、同じサービスを2〜3回以上呼び出しています。
ポリラインが1つあり、ポリラインの各ポイントを取得し、2つの連続するポイントをサービスに渡して応答を取得しています。
私がしているのは
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);
}
ただし、一部のリクエストへの応答が遅れることがあります。このため、ポイント間の適切な時間と距離が得られません。リクエストが行われたシーケンスとして配列の値を取得するために、誰かが何らかの方法を提案できますか?