谷歌地点搜索 - 下一页令牌返回相同的结果

40

当我打电话时

https://maps.googleapis.com/maps/api/place/nearbysearch/xml?location=42.9825,-81.254&radius=50000&name=Medical%22Clinic&sensor=false&key=[KEY GOES HERE]
我获得了一组带有可用 next_page_token 的结果。
现在如果我做同样的操作。
https://maps.googleapis.com/maps/api/place/nearbysearch/xml?location=42.9825,-81.254&radius=50000&name=Medical%22Clinic&sensor=false&key=[KEY GOES HERE]&next_page_token=[NEXT PAGE TOKEN GOES HERE]

我得到的结果与第一个查询相同,而不是下一组结果。

2个回答

89

参数应该是 pagetoken,而不是 "next_page_token"。

尝试这样做:

https://maps.googleapis.com/maps/api/place/nearbysearch/xml?location=42.9825,-81.254&radius=50000&name=Medical%22Clinic&sensor=false&key=[KEY GOES HERE]&pageToken=[NEXT PAGE TOKEN GOES HERE]

3
@Thomas Andersen,我们能一次性获取所有的结果吗? - Hamzeh Soboh
2
我该如何获取实际的令牌?我总是得到20个结果,但在响应中看不到令牌。我尝试过调整参数,寻找5公里范围内主要城市周围的酒吧之类的东西,所以我肯定应该得到超过20个结果。 - user841760
1
@Ashish Saini 你确定吗?请阅读Places API文档:https://developers.google.com/places/web-service/search#PlaceSearchRequests。参数是 pagetoken - xomena
1
如何设置限制超过20? - Jithish P N
当发出一个next_page_token时,它在变为有效之前会有几秒钟的延迟。请确保在请求下一页之间有一定的延迟。 - undefined
显示剩余2条评论

1

在第一次请求时,您必须使用不带pagetoken参数的参数,而后续请求只需要使用pagetoken参数,例如:

第一次请求

https://maps.googleapis.com/maps/api/place/nearbysearch/xml?location=42.9825,-81.254&radius=50000&name=Medical%22Clinic&sensor=false&key=[KEY GOES HERE]

其他请求:

https://maps.googleapis.com/maps/api/place/nearbysearch/xml?key=[KEY GOES HERE]&pagetoken=[NEXT PAGE TOKEN GOES HERE]

如果在后续调用中除了pagetoken和key之外还输入了任何参数,则响应中的状态将被设置为INVALID_REQUEST。


你是对的..问题在于后续调用中传递的参数..我通过添加更多信息来修改了先前的评论。 - Gianluigi Turla
9
只有在以下情况下才会返回"INVALID_REQUEST":当发出"next_page_token"后,在其变为有效之前会有短暂延迟。在可用之前请求下一页会导致返回"INVALID_REQUEST"响应。同时设置"pageToken"参数将导致忽略其他参数。可以安全地在传递页面令牌参数的同时传递其他参数。参考:访问其他结果 - ahmdx
请注意,参数“pagetoken”区分大小写,对于我来说,“pageToken”也返回了INVALID_REQUEST。 - undead10

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接