距离矩阵不是大数据的返回距离

时间:2017-11-21 05:37:00

标签: javascript php google-maps-api-3 google-distancematrix-api

我正在尝试使用谷歌距离矩阵服务返回距离。它返回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 = [];
    }
    } 
    }

我认为代码中没有错误,因为它适用于小数据。那么我该如何确保函数返回大数据的数据。有什么办法吗?我搜索了它,herehere。它描述了与我不同的问题。谢谢。任何形式的帮助都受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

对于可以返回结果的目的地的起始次数有限制:

来自the documentation

  

配额#

     

Distance Matrix服务具有以下使用限制:   注意:发送到距离矩阵服务的每个查询都受允许元素数量的限制,其中原点数乘以目的地数量定义元素数量

     

每个请求最多25个来源或25个目的地   每个请求最多100个元素。