Передача параметра JavaScript в обратный вызов или установка значения переменной в DistanceMatrixStatus
Я немного поиграл с Googles РасстояниеMatrixService. Приведенный ниже код работает, но как я могу передать другой параметр в функцию обратного вызова или получить одно из значений из обратного вызова?
Например: у меня есть два div, в которых я хочу показать разные результаты (Results1 и Results2), поэтому я думаю, что мне нужно либо
передать другое значение в функцию GoogleMapDistance, какGoogleMapDistance (YourLatLong, DestLatLong, TheDiv)
или же
быть в состоянии получить ResultStr извне за пределами обратного вызоваdocument.getElementById (»Results1") .innerHTML = ResultStr;
или же
установить в innerHTM возвращаемое значение функции document.getElementById ("Results1") .innerHTML = GoogleMapDistance (YourLatLong, DestLatLong);
Я застрял. Как я могу сделать это? Сейчас это выглядит так, что я смогу выполнить весь этот код только один раз и записать его только в один div.
function GoogleMapDistance(YourLatLong,DestLatLong)
{
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
origins: [YourLatLong],
destinations: [DestLatLong],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.IMPERIAL,
avoidHighways: false,
avoidTolls: false
}, callback);
}
function callback(response, status)
{
if (status == google.maps.DistanceMatrixStatus.OK)
{
var origins = response.originAddresses;
var destinations = response.destinationAddresses;
for (var i = 0; i < origins.length; i++)
{
var results = response.rows[i].elements;
for (var j = 0; j < results.length; j++)
{
var element = results[j];
var from = origins[i];
var to = destinations[j];
var distance = element.distance.text;
var duration = element.duration.text;
var ResultStr = distance + " (" + duration + ")";
}
}
document.getElementById("Results1").innerHTML = ResultStr;
}
}
var YourLatLong = "45.4049,-122.797997";
var DestLatLong1 = "47.468893,-122.227978";
var DestLatLong2 = "61.221274,-149.831545";
GoogleMapDistance(YourLatLong,DestLatLong1);