我正在使用Google Places API for Javascript根据关键字进行大量搜索。
所有请求均采用以下格式:
var request = {
location: new google.maps.LatLng(40.711646, -74.016867),
radius: 50000,
keyword: "LAFAYETTE HIGH SCHOOL"
}
service.nearbySearch(request,
function(response) {
console.log(response)
} );
以上内容使用不同的关键字重复了 450 多次。
如果我在控制台中输入任何请求,它们工作得很好,并在控制台中记录有效的响应。
但是,当我实际访问包含所有这些请求的站点时,我可以在“网络”选项卡中看到只发出了少数请求。大多数请求根本不会显示在“网络”选项卡中,并且控制台返回null。
这种处理一些请求但不处理其他的请求对我来说似乎很奇怪。如何让 Places API 正确发出所有请求并返回响应?
最佳答案
听起来您因连续发送太多请求而受到限制。检查 nearbySearch()
回调中的 PlacesServiceStatus
值。如果是 google.maps.places.PlacesServiceStatus.OVER_QUERY_LIMIT
,那么您将受到限制。您需要放慢请求速度,但对于一个用户访问连续 450 个位置来说,请求量很大!除了在您的服务器上进行这些调用并缓存它们之外,我不知道还有什么建议。
关于javascript - Google Places Javascript API 未发出某些请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16259617/