Google距离矩阵如何升级配额请求

问题描述 投票:0回答:2

我想使用谷歌距离矩阵计算 100 x 100 = 10000 之间的距离。我总是启用标准使用计费,但仍然出现错误 OVER_QUERY_LIMIT
我总是检查限制:
1)2500/天,但我启用了计费
2)每秒100个元素,我在客户端插入5秒的间隔
3) 每个查询 100 个元素,我总是有 25 个目的地元素和 1 个原点元素

我正在使用 jquery 开发 javascript

var origin_vertices = [{ lat: 44.1101790, lng: 12.4232134} ......,{ lat: 45.9859019, lng: 112.6167280}]; // 100 elements
var number_of_split = 4;
var service = new google.maps.DistanceMatrixService();
var my_origin = JSON.parse(JSON.stringify(origin_vertices)); 
var origin_dict = [];

for (var i =0; i < my_origin.length; ++i){
    var my_dest = JSON.parse(JSON.stringify(origin_vertices)); 
    var temp_origin = [];
    temp_origin[0] = my_origin[i];  

    for (var j = 0; j < number_of_split; ++j){ 
        var split_array = my_dest.splice(0, 25);
        origin_dict.push({origin: temp_origin, destination: split_array})
    }
} 

// after this operations i have a vector of 400 elements, with 1 origin and 25 destination

var dim_new_array = origin_dict.length;  
var i = 0; 
var interval = setInterval(function() { 
    orig = origin_dict[i].origin;
    dest = origin_dict[i].destination;  
    callservice(orig, dest); 
    i++;  
    if(dim_new_array <= i){ 
        clearInterval(interval);
    }  
}, 3000);

function  callservice(orig, dest){
    // serve solo per chiamae la API
    service.getDistanceMatrix({
        origins: orig,
        destinations: dest,
        travelMode: google.maps.TravelMode.DRIVING,//DRIVING, BICYCLING, WALKING, TRANSIT
        unitSystem: google.maps.UnitSystem.METRIC,//IMPERIAL
        avoidHighways: false,
        avoidTolls: false
    }, Callback);//  service
}

我只使用远程服务。

google-maps google-distancematrix-api google-directions-api
2个回答
0
投票

正如您已经提到的,您启用了计费功能;我建议执行两个步骤来确保您已正确配置所有内容。

  1. 确保您启用计费的项目与您要达到此配额限制的项目相同。
  2. 访问“配额”选项卡并配置这些设置,以便允许更高的配额。这些设置可以在 API Manager > Library > Google Maps Distance Matrix API > Quotas 中找到(或尝试此链接

0
投票

如果您有出发地和目的地的列表,并且每次都按列表向下计算,也将针对给定值进行计算。所以这里我们需要在使用数组公式的编辑函数而不是公式时冻结该值

© www.soinside.com 2019 - 2024. All rights reserved.