批量请求Google Places(Javascript v3)

Batch requests for Google Places (Javascript v3)

本文关键字:Javascript v3 Places 请求 Google      更新时间:2023-09-26

有没有一种方法可以在JavaScript中批量处理Places Library的请求?我已经看到了这个页面,所以我认为这是可能的,至少,我不确定它如何与Places API一起工作。

我需要为我在谷歌地图上找到的每个地方运行一个请求(这导致了很多OVER_QUERY_LMIT异常)。我曾考虑过对请求进行排队并间隔一秒钟运行,但如果用户有几百个位置排队,那么如果用户抢先关闭页面,就会丢失相当多的结果。

在这种情况下,如果可能的话,我宁愿不将处理推迟到服务器。

好吧,这是我在Javascript中的解决方案:

var intId = setInterval(function() {
    try {
        service.getDetails(place, getMorePlaceDetails);
        clearInterval(intId);
    } catch(e) {
        console.info("Could not get detailed information about "+place.name+"; retrying in 3...");
    }
}, 3000);

当试图获取更多详细信息时,每个引发异常的地方都会在3秒内重试。

批处理支持Google的一些版本,并且使用API客户端库(至少在PHP中)非常容易实现。遗憾的是,Places不是受支持的API之一。

但这在您的情况下并不重要,因为即使您批量处理它们,它们仍然会计入您的查询限制。