我试图找出一种方法来发起一个谷歌distancematrix调用,我需要返回结果,然后才能使用javascript和jquery继续执行程序。如果有人可以帮助编写示例示例,请。我有多条距离。即:腿1的起点和终点腿2的起点和终点腿3的起点和终点我想做的是计算不同腿之间的行驶时间,因此腿1终点驾驶员需要开始腿2的起点。因此进行呼叫以获取第1脚终点和第2脚起点之间的距离。然后继续进行下一个计算。我已经有了腿的距离,所以我的代码如下:
var driving = 0;
calculateDistances();
code to work with the calculatedistances() result here
function calculateDistances() {
//alert(origin+','+destination);
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
//set origin and destination points
origins: [origin],//, origin2],
destinations: [destination],
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 = '';
for (var i = 0; i < origins.length; i++) {
var results = response.rows[i].elements;
//addMarker(origins[i], false);
for (var j = 0; j < results.length; j++) {
driving = parseFloat(results[j].distance.text); // driving is a script wide variable to hold the return value
}
}
}
}
将回调传递到您的calculateDistances()函数中,可以通过传入回调并在方法末尾使用callback()来执行。为了清楚起见,请调用其他函数。
var driving = 0;
calculateDistances(callbackFunction);
function calculateDistances(callback) {
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
//set origin and destination points
origins: [origin],//, origin2],
destinations: [destination],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
}, callback());
}
function callbackFunction(response, status) {
if (status != google.maps.DistanceMatrixStatus.OK) {
}
//etc
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句