Javascript 如何从GoogleAPI获取完美的数据
我试图从GooglePlacesAPI(写在JSON上)获取数据。 每个结果都有一个页面,最多包含20个结果。如果有更多的结果,您将有var调用Next_token。下一个标记是指向下一个包含结果的页面的链接。如果没有,则不进行声明。 我试着做这些东西,但没有100%成功 我对JS上的ES5/6有些陌生。所以我尝试获取第一页,然后循环,直到没有更多的结果。 我把代码删掉了,没关系的都删掉了 函数getdatafirsttry(url){ 获取(url{ 方法:“获取” }) 。然后(响应=> response.json()) 。然后(数据=>{ next_token=data.next_page_token; if(下一个_标记!==未定义){ url='1〕https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=32.0333332,34.7666636&radius=1500&type=restaurant&key=…&fields=opening\u hours,photos,rating.json&pagetoken='+next\u token; toContinue=true; }否则{ toContinue=false } } //下一页标记 函数AllToGeter(url){ getdatafirsttry(url); } getdatafirsttry(url);Javascript 如何从GoogleAPI获取完美的数据,javascript,google-api,Javascript,Google Api,我试图从GooglePlacesAPI(写在JSON上)获取数据。 每个结果都有一个页面,最多包含20个结果。如果有更多的结果,您将有var调用Next_token。下一个标记是指向下一个包含结果的页面的链接。如果没有,则不进行声明。 我试着做这些东西,但没有100%成功 我对JS上的ES5/6有些陌生。所以我尝试获取第一页,然后循环,直到没有更多的结果。 我把代码删掉了,没关系的都删掉了 函数getdatafirsttry(url){ 获取(url{ 方法:“获取” }) 。然后(响应=> r
伪代码比实际的JS多一点,但概念如下:
const yourGoogleMapsFunction = async (params you need, nextToken, listOfPlaces) => {
let options = {
method: 'GET',
uri: "https://maps.googleapis.com/maps/api/nearbysearch/json",
qs : {
key: process.env.GOOGLE_API_KEY,
pageToken: ...,
radius: ...,
location: ...
...
},
json: true
};
let response = await rp(options);
if (response && response.status === "OK" && response.results && response.results.length > 0) {
listOfPlaces.push(... the results);
yourGoogleMapsFunction(params you need, response.results...token, listOfPlaces);
}
};
您需要使用{}作为位置列表来调用它,它最终将占据所有位置
也考虑限制到一个最大值,在递归调用< /p>你想同时得到所有的数据吗?是的,在我打开Web应用程序的时候,所有的数据都需要显示出来。