function calculatedistance(lat1, lat2, lat3, lat4) { //var vanlat = // Define van latitude; //var vanlng = // Define van longitude; //var breakdownlat = // Define breakdown latitude; //var breakdownlng = // Define breakdown longitude; var heremapurlvaluetest = "https://route.ls.hereapi.com/routing/7.2/calculateroute.json?" + "waypoint0=" + lat1 + "," + lat2 + "&waypoint1=" + lat3 + "," + lat4 + "&mode=shortest%3Bcar%3Btraffic%3Aenabled&departure=now" + "&apiKey=DW3-YCFFZtJzlAQpTfVPoXADcZpEeZe3t8h6ganVsqo"; console.log(heremapurlvaluetest); var request = getDataFromAPI("GET", heremapurlvaluetest, function (data) { // Handle response data here // console.log(data); readDistanceAndDuration(data); }); // Error handling if (!request) { $('#spninfo').html('Duration: ' + duration + '
Distance: ' + distance + ' km'); console.error("Failed to create XMLHttpRequest."); return; } } function readDistanceAndDuration(response) { // Parse JSON response var jsonResponse = JSON.parse(response); // Check if response contains the summary section if (jsonResponse && jsonResponse.response && jsonResponse.response.route && jsonResponse.response.route.length > 0) { var route = jsonResponse.response.route[0]; // Assuming there's only one route // Extract distance and duration from the summary section var summary = route.summary; distance = summary.distance; // Distance in meters var durationInSeconds = summary.travelTime; // Duration in seconds // Convert duration from seconds to hours and minutes var durationInHours = Math.floor(durationInSeconds / 3600); var durationInMinutes = Math.floor((durationInSeconds % 3600) / 60); distance = (distance / 1000); // if (durationInHours = "0") { // //alert('if'); // duration = durationInMinutes + " minutes"; // } // else { // duration = durationInHours + " hours " + durationInMinutes + " minutes"; // } duration = durationInHours + " hours " + durationInMinutes + " minutes"; // Output the distance and duration console.log(distance + 'distance' + duration); // $('#spninfo').html('Duration: ' + duration + '
Distance: ' + distance + ' km'); } else { console.error("Invalid or empty response."); } } function getDataFromAPI(method, url, callback) { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState === XMLHttpRequest.DONE) { if (xhr.status === 200) { // Request was successful if (callback) { callback(xhr.responseText); } } else { // Error handling console.error("Error occurred while fetching data:", xhr.status); } } }; xhr.open(method, url); xhr.send(); }