-1

我正在遍历一系列边界

boundsarr[1] = new google.maps.LatLngBounds(new google.maps.LatLng(30.567183835166453, -81.72319182746412), new google.maps.LatLng(31.05927189755539, -81.68857520400456));

//boundsarr[2] = ...

//continues...

并按关键字返回每个边界的位置。我能够获得超过 60 个位置(这是 API 限制),因为我正在搜索不同边界的位置,但是当我有很多边界(例如 100 个)时,仅返回 3 或 4 个边界。

这是一种随机行为......我无法弄清楚为什么会这样。我的猜测是 API 在找到位置时停止处理。

如果您可能知道原因,请提供一些启发!

http://jsfiddle.net/5Czyz/

4

1 回答 1

1
  • 如果出现错误,您不会报告状态,如果添加代码以报告错误,则会收到很多烦人的警报,报告 ZERO_RESULTS 和 OVER_QUERY_LIMIT

http://jsfiddle.net/5Czyz/2/

    function callback(results, status) { 
      if (status == google.maps.places.PlacesServiceStatus.OK) {
        for (var i = 0; i < results.length; i++) {
          createMarker(results[i]);
        }
      } else alert("Places request failed: "+status);
    }   
  • Places 服务受配额和速率限制的限制,像这样触发一堆查询会有问题。

请参阅我对这个问题的回答,它似乎可以返回一组边界的结果,不确定它的可伸缩性(你的边界数组非常大)。

于 2013-06-27T19:24:20.903 回答