Надеюсь, что кто-то может помочь с этим: мне нужно написать сценарий, чтобы рассчитать расстояния и время в пути между различными местами.Локации должны быть переданы через массив, и результат будет храниться в БД (нет необходимости показывать карты)
Я нашел пример, который работает один раз, когда сценарий инициализируется, но я не могу контролироватьвыполнение сценария de, потому что оно всегда начинается в начале сценария, и мне нужно выполнить вычисление по требованию.Я действительно хотел бы получить любую помощь с этим
Это сценарий, который я упоминал ранее
<body>
<div id="output"></div>
<script>
function initMap() {
var origin1 = {lat: -33.4395365, lng: -70.65086309999998};
var destination1 = {lat: -33.4303118, lng: -70.5788414};
var service = new google.maps.DistanceMatrixService;
service.getDistanceMatrix({
origins: [origin1],
destinations: [destination1],
travelMode: 'TRANSIT',
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
}, function(response, status) {
if (status !== 'OK') {
alert('Error was: ' + status);
} else {
var originList = response.originAddresses;
var destinationList = response.destinationAddresses;
var outputDiv = document.getElementById('output');
outputDiv.innerHTML = '';
for (var i = 0; i < originList.length; i++) {
var results = response.rows[i].elements;
for (var j = 0; j < results.length; j++) {
outputDiv.innerHTML += originList[i] + ' to ' + destinationList[j] +
': ' + results[j].distance.text + ' in ' +
results[j].duration.text + '<br>';
}
}
}
});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>