0
複数の脚がある場合、各脚について報告される距離は同じです。どんな考え?最初の2本の足の間の距離は正しく表示されますが、1本おきの足の間隔は1本目の足と同じです。おそらくこの時点ではカフェインしすぎているかもしれませんが、なぜ私は見ることができません。ここでgetRoutesの古い値を返すgmaps.js
はコードです:あなたの時間を無駄に皆のための
function marker(map, lat, lng, title, name) {
map.addMarker({
lat: lat,
lng: lng,
title: title,
click: function (e) {
legs.push({destination: name, latitude: lat, longitude: lng, distance: null, time: null});
var next_stop;
if (legs.length > 1)
{
$.each(legs, function (index, value)
{
// Mileage In Between
if (legs[(index + 1)])
{
next_stop = legs[(index + 1)];
map.getRoutes(
{
origin: [value.latitude, value.longitude],
destination: [next_stop.latitude, next_stop.longitude],
callback: function (e)
{
var time = 0;
var distance = 0;
for (var i=0; i<e[0].legs.length; i++)
{
time += e[0].legs[i].duration.value;
distance += e[0].legs[i].distance.value;
}
var miles = distance/1609.34;
var kilometers = distance/1000;
var timer = time/60;
legs[(index + 1)].distance = miles.toFixed(2);
alert(timer.toFixed(2) + " and " + miles.toFixed(2));
}
}
);
}
}
);
}
console.log(legs);
a.$set('stops', legs);
}
});
}
問題を示す[最小、完全、テスト済みおよび読み取り可能な例](http://stackoverflow.com/help/mcve)を入力してください。 – geocodezip
は、var距離とマイル計算を地図のコールバックから関数の先頭に移動しないでください。コールバックは毎回1つの距離だけ戻しますが、すべての足を合計したいとしますか? –
はい、マイレージ計算は後で削除されます。はい、私は毎回(脚)ではなく、足で距離をしたいです。 – Jafo