Wenn mehrere Zweige vorhanden sind, ist die für jedes Teil angegebene Entfernung gleich. Irgendeine Idee warum? Es meldet den Abstand zwischen den ersten beiden Beinen rechts, aber dann ist der Abstand zwischen jedem anderen Bein gleich wie das erste Bein. Wahrscheinlich zu diesem Zeitpunkt einfach zu koffeinhaltig, aber ich verstehe nicht warum. Hiergmaps.js gibt den alten Wert für getRoutes zurück
ist der Code:
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);
}
});
}
Bitte geben Sie ein [minimales, vollständiges, getestetes und lesbares Beispiel] (http://stackoverflow.com/help/mcve) an, das das Problem veranschaulicht. – geocodezip
sollte der var distance und die miles calculation nicht aus dem map callback an den anfang der funktion verschoben werden? Der Rückruf wird immer nur eine Entfernung zurückgeben, aber Sie möchten über alle Strecken summieren? –
Ja, die Kilometerberechnung wird später verschoben. Ja, ich möchte jedes Mal eine Strecke (Bein), keine Summe. – Jafo