【发布时间】:2017-11-21 05:36:59
【问题描述】:
我正在尝试通过谷歌距离矩阵服务返回距离。它返回 60-100 个数据的距离。但是对于100以上的大数据,就不行了。我所做的是,
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix({
origins: [origin],
destinations: [dest],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
}, callback);
这是内部循环。
调用 bac 函数是:
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 =(parseFloat(element.distance.value)/1000).toFixed(1);
var un = '';
if($('input[name=distance-units]:checked').val()=='kms'){
un = themiles;
} else {
un = thekm;
}
var duration = element.duration.text;
var from = origins[i];
var to = destinations[j];
arr.push(distance);
}
}
distancecode++;
if(distancecode==(totalrec+1)){
distancecode=0;
arr.sort(function(a,b){return a-b});
for(k=0;k<=arr.length;k++){
$('#d_'+(k+1)+' .value').html(arr[k]);
$('#d_'+(k+1)+' .units').html(un);
}
arr = [];
}
}
}
我认为代码中没有错误,因为它适用于小数据。那么如何确保该函数为大数据重新调整数据。有没有什么办法。我搜索了它,here 和 here。它描述的问题与我的不同。谢谢你。非常感谢任何形式的帮助。
【问题讨论】:
标签: javascript php google-maps-api-3 google-distancematrix-api