Я использую API Google, мне нужно сделать два разных расстояния в милях. В настоящий момент у меня есть следующее: -Google Maps DistanceMatrix
var start = arrObjLatLngs[0];
var end = arrObjLatLngs[arrObjLatLngs.length - 1];
var base = new google.maps.LatLng(52.781048888889, -1.2110222222222546);
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
origins: [base, base],
destinations: [start, end],
travelMode: google.maps.TravelMode.DRIVING,
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 distance = element.distance.text;
var duration = element.duration.text;
var from = origins[i];
var to = destinations[j];
}
}
}
}
Что мне нужно, это две переменные; $runinPickup
и $runinDestination
, который содержит расстояние между 1.) основаниями и начать (который будет $ runinPickup) и 2) основание и конец (который будет $ runinDestination)
Если я предупрежу distance
я получаю ответ: -
13,9 км
5,2 км
13,9 км
5,2 км
Во-первых, я просто хочу знать, как я могу получить расстояние только от base
до start
как $ runinPickup. Во-вторых, есть ли способ, которым я могу это сделать, поэтому он не включает десятичное число? Таким образом, вместо 13,9 км для первого значения, это только будет 13.
Тогда мне нужно, чтобы преобразовать его в мили, которые я предполагаю, что когда-то я могу получить значение, я бы это следующим образом:
var pickup_distance = parseInt(($fieldPickup/8) * 5); ?
Любая помощь будет очень признательна! :)
После этой линии для travelMode добавить 'unitSystem: google.maps.UnitSystem.IMPERIAL', чтобы получить результаты в милях, а не Д.К. – Rafe
благодаря Рейф , и как бы я мог получить только целое значение, как десятичное число? - Кроме того, если расстояние очень короткое, оно достигает 1 метра, где, как я ожидал бы, это будет 0 миль, в противном случае это повлияет на вычисления – nsilva
Вы всегда можете попробовать использовать parseInt на результат – Rafe