Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用GooglePlaces和JavaScriptAPI循环浏览其他页面?_Javascript_Google Api_Google Places Api - Fatal编程技术网

如何使用GooglePlaces和JavaScriptAPI循环浏览其他页面?

如何使用GooglePlaces和JavaScriptAPI循环浏览其他页面?,javascript,google-api,google-places-api,Javascript,Google Api,Google Places Api,我正在构建一个单页应用程序,并使用前端javascript API访问google地图和地点。我成功地生成了谷歌地图,并通过该api获得了机构的详细信息,但是,javascript api不会返回“下一个页面标记”,允许我在前20个页面后搜索其他结果 如何使用JavaScriptAPI让下一个\u页面\u标记在多个页面的结果中循环?我很绝望,因为我在任何地方都找不到关于这件事的任何信息 编辑-包括一些附加信息。 使用文档执行nearbySearch只返回一组20个结果,响应中没有其他属性 下面是

我正在构建一个单页应用程序,并使用前端javascript API访问google地图和地点。我成功地生成了谷歌地图,并通过该api获得了机构的详细信息,但是,javascript api不会返回“下一个页面标记”,允许我在前20个页面后搜索其他结果

如何使用JavaScriptAPI让下一个\u页面\u标记在多个页面的结果中循环?我很绝望,因为我在任何地方都找不到关于这件事的任何信息

编辑-包括一些附加信息。

使用文档执行nearbySearch只返回一组20个结果,响应中没有其他属性

下面是我使用Javascript API发出的请求。我的index.html文件中包含了脚本

let map = new google.maps.Map(this.$refs.map, {
    center: this.location,
    zoom: 12,
    disableDefaultUI: true,
    scrollwheel: false
})

let request = {
    location: this.location,
  radius: 10000,
  type: ['restaurants'] 
}

let service = new google.maps.places.PlacesService(map)
service.nearbySearch(request, (results, status) => {
    console.log("Results", results)
    console.log("Status", status)
})
以下是谷歌发回的信息。从devtools中的控制台获取

Results (20) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
nearbySearch的结果请求第三个参数

a4 {f: ƒ, b: ƒ, l: "CqQCIAEAAPcNpixD40jA39VnP-WMOZT21nGCcfpK_smpYhG66W…UWk72OjPB1A7Mdudz6UhoUD_vqC-QSk7CKnoveUXK0IHnQ8es", j: 1528768999850, hasNextPage: true}
我正在看这个例子,它突出了:

// Perform a nearby search.
  service.nearbySearch(
      {location: pyrmont, radius: 500, type: ['store']},
      function(results, status, pagination) {
        if (status !== 'OK') return;

        createMarkers(results);
        moreButton.disabled = !pagination.hasNextPage;
        getNextPage = pagination.hasNextPage && function() {
          pagination.nextPage();
        };
      });
因为请注意,回调使用了第三个参数,用于获取其他结果。

我正在查看,这个示例突出了:

// Perform a nearby search.
  service.nearbySearch(
      {location: pyrmont, radius: 500, type: ['store']},
      function(results, status, pagination) {
        if (status !== 'OK') return;

        createMarkers(results);
        moreButton.disabled = !pagination.hasNextPage;
        getNextPage = pagination.hasNextPage && function() {
          pagination.nextPage();
        };
      });

因为请注意,回调使用了第三个参数,用于从google页面搜索API获取其他结果。

访问其他结果:

默认情况下,每个邻近搜索或文本搜索最多返回20个 每次查询的建立结果;但是,每次搜索都可以返回 多达60个结果,分为三页。如果你的搜索可以 返回20个以上,则搜索响应将包括 附加值-下一页\u标记。传递 下一个\u page\u token指向新搜索的pagetoken参数,以查看 下一组结果。如果下一个\u页面\u标记为空,或不为空 返回,则没有进一步的结果。有一个短暂的延迟 在下一个\u页面\u令牌发出和将成为 有效。在下一页可用之前请求下一页将返回 无效的\u请求响应。正在使用相同的命令重试请求 下一页\令牌将返回下一页的结果

简言之,在一个电话的回应中,比如:

-或-

你会发现:

{
   "html_attributions" : [],
   "next_page_token" : "CpQCAgEAAFxg8o-eU7_uKn7Yqjana-HQIx1hr5BrT4zBaEko29ANsXtp9mrqN0yrKWhf-y2PUpHRLQb1GT-mtxNcXou8TwkXhi1Jbk-ReY7oulyuvKSQrw1lgJElggGlo0d6indiH1U-tDwquw4tU_UXoQ_sj8OBo8XBUuWjuuFShqmLMP-0W59Vr6CaXdLrF8M3wFR4dUUhSf5UC4QCLaOMVP92lyh0OdtF_m_9Dt7lz-Wniod9zDrHeDsz_by570K3jL1VuDKTl_U1cJ0mzz_zDHGfOUf7VU1kVIs1WnM9SGvnm8YZURLTtMLMWx8-doGUE56Af_VfKjGDYW361OOIj9GmkyCFtaoCmTMIr5kgyeUSnB-IEhDlzujVrV6O9Mt7N4DagR6RGhT3g1viYLS4kO5YindU6dm3GIof1Q",
   "results" : [{...}]
}
重要提示:如果没有其他结果可显示,则不会返回下一个\u页面\u标记。可以返回的最大结果数为60。在下一个_页面_令牌发出和生效之间有一个短暂的延迟

阅读更多:

来自谷歌页面搜索API

访问其他结果:

默认情况下,每个邻近搜索或文本搜索最多返回20个 每次查询的建立结果;但是,每次搜索都可以返回 多达60个结果,分为三页。如果你的搜索可以 返回20个以上,则搜索响应将包括 附加值-下一页\u标记。传递 下一个\u page\u token指向新搜索的pagetoken参数,以查看 下一组结果。如果下一个\u页面\u标记为空,或不为空 返回,则没有进一步的结果。有一个短暂的延迟 在下一个\u页面\u令牌发出和将成为 有效。在下一页可用之前请求下一页将返回 无效的\u请求响应。正在使用相同的命令重试请求 下一页\令牌将返回下一页的结果

简言之,在一个电话的回应中,比如:

-或-

你会发现:

{
   "html_attributions" : [],
   "next_page_token" : "CpQCAgEAAFxg8o-eU7_uKn7Yqjana-HQIx1hr5BrT4zBaEko29ANsXtp9mrqN0yrKWhf-y2PUpHRLQb1GT-mtxNcXou8TwkXhi1Jbk-ReY7oulyuvKSQrw1lgJElggGlo0d6indiH1U-tDwquw4tU_UXoQ_sj8OBo8XBUuWjuuFShqmLMP-0W59Vr6CaXdLrF8M3wFR4dUUhSf5UC4QCLaOMVP92lyh0OdtF_m_9Dt7lz-Wniod9zDrHeDsz_by570K3jL1VuDKTl_U1cJ0mzz_zDHGfOUf7VU1kVIs1WnM9SGvnm8YZURLTtMLMWx8-doGUE56Af_VfKjGDYW361OOIj9GmkyCFtaoCmTMIr5kgyeUSnB-IEhDlzujVrV6O9Mt7N4DagR6RGhT3g1viYLS4kO5YindU6dm3GIof1Q",
   "results" : [{...}]
}
重要提示:如果没有其他结果可显示,则不会返回下一个\u页面\u标记。可以返回的最大结果数为60。在下一个_页面_令牌发出和生效之间有一个短暂的延迟

阅读更多:

感谢您抽出时间写这篇文章。我确实看到了这些信息,但是,下一个\u页面\u令牌没有发布。我从谷歌上的搜索中100%地知道有20多条搜索结果,60多条。我认为这里使用的示例并不适用于Javascript API。可以从Ajax调用它们,但它们返回cors错误。由于使用SPA的限制,我一直在尝试从javascript库中执行此操作。我刚刚意识到,这意味着即使有60个以上的结果,也最多只能返回60个结果。感谢您花时间编写本文。我确实看到了这些信息,但是,下一个\u页面\u令牌没有发布。我从谷歌上的搜索中100%地知道有20多条搜索结果,60多条。我认为这里使用的示例并不适用于Javascript API。可以从Ajax调用它们,但它们返回cors错误。由于使用SPA的限制,我一直试图从javascript库中执行此操作。我刚刚意识到,这意味着即使有60个以上的结果,也最多只能返回60个结果。我确实注意到有第三个参数,但第三个参数不包含任何标记标记或下一页。有一个名为“l”的属性,它有一个长的类似散列的值,我尝试将其作为nextpagetoken传递,但没有成功。它被忽略或返回相同的结果。我很快就会尝试逐字复制这个示例,看看这是否适合我。我用第三个参数返回的内容更新了我的问题。我注意到有第三个参数,但第三个参数不包含任何标记标记或下一页。有一个名为“l”的属性,它有一个长的类似散列的值,我尝试将其作为nextpagetoken传递,但没有成功。它被忽略或返回相同的结果。我很快就会尝试逐字复制这个示例,看看这是否适合我。我已经用第三个参数返回的内容更新了我的问题。