Итак, я пытаюсь создать в jquerymobile простой сервис «Расположение магазина», где на одном экране можно составить список всех магазинов и показать расстояние от текущей позиции, используя API-интерфейсы Google Maps.
Я смотрел на этот пример: http://code.google.com/apis/maps/documentation/javascript/examples/distance-matrix.html
из которого я использовал следующий код:
function calculateDistances() {
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
origins: [origin1, origin2],
destinations: [destinationA, destinationB],
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) {
alert('Error was: ' + status);
} else {
var origins = response.originAddresses;
var destinations = response.destinationAddresses;
var outputDiv = document.getElementById('outputDiv');
outputDiv.innerHTML = '';
for (var i = 0; i < origins.length; i++) {
var results = response.rows[i].elements;
for (var j = 0; j < results.length; j++) {
outputDiv.innerHTML += origins[i] + " to " + destinations[j]
+ ": " + results[j].distance.text + " in "
+ results[j].duration.text + "<br />";
}
}
}
}
Он работает нормально, так как он заполняет #outputDivс необходимой информацией.Теперь я застрял на том, как использовать calcDistances (), чтобы заполнить каждый div, где он принадлежит каждому магазину!Я не понимаю, как вернуть результаты вышеупомянутой функции, так как callback () уже определяет var outputDiv = document.getElementById('outputDiv');
, который на данный момент работает только на 1 div ... Что мне нужно сделать, чтобы каждый раз, когда я вызываю CalculateDistances (), этозаполняет div я хочу?
Спасибо, ребята