Hej, używam Google do wyznaczenia odległości.
function calculateDistance(origin, destination) {
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
origins: [origin],
destinations: [destination],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
}, callback
);
}
function callback(response, status) {
if (status != google.maps.DistanceMatrixStatus.OK) {
console.log(err);
} else {
var origin = response.originAddresses[0];
var destination = response.destinationAddresses[0];
if (response.rows[0].elements[0].status === "ZERO_RESULTS") {
console.log("nie ma drog pomiedzy"
+ origin + " and " + destination);
} else {
var distance = response.rows[0].elements[0].distance;
var distance_value = distance.value; // w metrach
var distance_text = distance.text; // np. 2,4 km
var distanceKm = distance_text.substring(0, distance_text.length - 3);
console.log("Odległość: " + distance_text + " lub " + distance_value/1000 + " lub " + distanceKm);
}
}
}
chciałbym aby funkcja calculateDistance zwracała mi distanceKm tak abym mógł ją wywołać i użyć tego co zwraca dalej.