Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 谷歌地图API方向限制_Google Maps - Fatal编程技术网

Google maps 谷歌地图API方向限制

Google maps 谷歌地图API方向限制,google-maps,Google Maps,我使用GoogleMapsAPI制作了一个地图,为多个用户显示到一个公共目的地的方向多段线。因此,每个用户都有自己的多段线同时显示在地图上 问题是返回的多段线数量似乎有限制。当我有超过10个用户时,我将停止接收多段线数据。(最后添加到地图的用户不会获得多段线)。我可能会指出,load函数似乎仍然有效(没有调用错误事件侦听器),但我要么没有获取多段线数据,要么它拒绝绘制地图 每次绘制的多段线的数量都略有不同,这让我觉得谷歌不喜欢一次从同一个用户那里收到这么多请求,但我不能确定 有人知道如何避开这件

我使用GoogleMapsAPI制作了一个地图,为多个用户显示到一个公共目的地的方向多段线。因此,每个用户都有自己的多段线同时显示在地图上

问题是返回的多段线数量似乎有限制。当我有超过10个用户时,我将停止接收多段线数据。(最后添加到地图的用户不会获得多段线)。我可能会指出,load函数似乎仍然有效(没有调用错误事件侦听器),但我要么没有获取多段线数据,要么它拒绝绘制地图

每次绘制的多段线的数量都略有不同,这让我觉得谷歌不喜欢一次从同一个用户那里收到这么多请求,但我不能确定

有人知道如何避开这件事吗?我曾尝试提供纬度和经度,而不是地址字符串,以减少工作量,但这似乎对绘制的多段线的数量没有任何影响。

根据,您应该能够每天发出10000个GDirections请求,而不会被Google限制。然而,我在GoogleMapsAPI组中发现了一个建议,即有一个单独的节流机制,根据您发出请求的速率返回620个HTTP错误

从您的问题来看,您的错误侦听器似乎没有被调用,因此这不太合适。但我还没有从谷歌找到关于这种行为的官方描述,所以我不确定


您是否能够缓冲GDirections请求并降低请求速率?这可能是一个很好的测试,可以查看您是否受到请求速率限制机制的影响。

我只是做了一些非常简单的事情,如下所示。我创建了一个数组,其中包含了我要预先添加的所有方向。我循环浏览我的方向,添加一个标记(我在方向上添加一个单独的标记,这样即使方向无法绘制,也会有一个标记),然后调用setTimeout函数来安排方向调用,这样Google就不会一次获得所有方向。然后我将毫秒的值增加了大约250(可能需要使用这个值)


希望这能有所帮助。

终于找到了如何缓冲请求的方法,而且似乎很有效:)如果我在每次调用之间留出250毫秒,我似乎就能得到所有结果。我画了32条多段线中的32条。我还没有测试过更高的,但是对于大多数情况来说,这应该足够好了。太棒了。很高兴你把它整理好了。谢谢你提供的信息,我想问你一个问题(可能有点幼稚)——他们有没有其他在地图上画路线(方向)的方法(这将永远免费)。
var milliseconds = 0;
for(i in directions){
    addMarker(directions[i]); //I place the marker separate to the direction so that there is always a marker even if the direction fails to draw.

    setTimeout( function(){
                  addDirection(directions[directionCounter]); //This is my function that makes the direction request to Google
                  directionCounter++;
                }
                , milliseconds);

    milliseconds += 250;
}