Я использую API для расчета доставки в зависимости от выбранного расстояния. У меня есть 2 пункта отправления Найроби и Момбаса. Доставка должна выбрать местоположение отправки, которое находится рядом с местоположением, выбранным с помощью Google Location API. Я использую матрицу расстояний для достижения этой цели. Ниже приведен код для достижения этого:
/* distance calculation between customer pickup point and Kericho Gold dispatch location */
var dispatchNairobi = 'Nairobi, Kenya';
var dispatchMombasa = 'Mombasa, Kenya';
// var source = 'Nairobi, Kenya';
var destination = customerLocation;
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix({
origins: [dispatchNairobi],
destinations: [destination],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
}, function (response, status) {
if (status == google.maps.DistanceMatrixStatus.OK && response.rows[0].elements[0].status != "ZERO_RESULTS") {
var distanceNairobi = response.rows[0].elements[0].distance.value;
var durationNairobi = response.rows[0].elements[0].duration.text;
$("#nairobiDistance").val(distanceNairobi).change();
} else {
alert("An error occured.");
}
});
service.getDistanceMatrix({
origins: [dispatchMombasa],
destinations: [destination],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
}, function (response, status) {
if (status == google.maps.DistanceMatrixStatus.OK && response.rows[0].elements[0].status != "ZERO_RESULTS") {
var distanceMombasa = response.rows[0].elements[0].distance.value;
var durationMombasa = response.rows[0].elements[0].duration.text;
$("#mombasaDistance").val(distanceMombasa).change();
} else {
alert("An error occured.");
}
});
/* end */
jQuery('input#mombasaDistance').on( 'change', function(){
if( $("#mombasaDistance").val() < $("#nairobiDistance").val() )
{
var dispatchLocation = dispatchMombasa;
var dispatchLat = '-4.0350145';
var dispatchLong = '39.5962225';
console.log(dispatchLocation);
}
else if($("#nairobiDistance").val() < $("#mombasaDistance").val())
{
var dispatchLocation = dispatchNairobi;
var dispatchLat = '-1.3028618';
var dispatchLong = '36.7073099';
console.log(dispatchLocation);
}
Стоимость доставки рассчитывается для мест, которые возвращают Найроби в качестве исходного адреса. Тем не менее, некоторые местоположения находятся в Найроби, но Момбаса возвращается в качестве Исходного адреса, поэтому я получаю сообщение об ошибке, и стоимость доставки не рассчитывается. Кто-нибудь? * * 1004