javascript - 使用 Google map 地点库在 map 上显示的标记不超过 20 个

标签 javascript google-maps google-places-api

尝试使用 Google Places API 获取城市内的所有餐馆。 尽管返回了 100 条记录,但 map 上仅显示 20 个标记。 下面是我们创建标记的代码片段。如果我在这里遗漏了什么,请告诉我。您可以引用下面的链接并在 'Santa Clara' jsfiddle.net/r8g42046 中输入餐厅名称

//用于根据地点位置创建标记的函数。

  function createMarker(place){
    var place = place.geometry.location;
    var marker = new google.maps.Marker({
            map: map,
            position: place         
        });
    markers.push(marker);
    google.maps.event.addListener(marker, 'click', function() {
        infoWindow.setContent(place.name);
        infoWindow.open(map, this);
      });
    }

// Callback function based on results fetched from Places library based on type : restaurant.

 function callback(results, status, next_page_token) {
   if (results != null){
     resultlist.push(results);
    }
   if (next_page_token != undefined){
     textSearchrequest.pagetoken = next_page_token;
     service.textSearch(textSearchrequest,callback);
    }
   else{    
        findLocation(resultlist[0][0].place_id);
        for(var page = 0;page < resultlist.length;page++)
       {     
         for (var i = 0; i < resultlist[page].length; i++) {
         var place = resultlist[page][i]; 
         console.log(place.name); // Displays 100 restaurant names
         createMarker(place); //Call create marker function
        }
       }
     }
  }

最佳答案

这一行完全没用:

 textSearchrequest.pagetoken = next_page_token;

pagetoken 是地方网络服务的 URL 参数,在地方库中没有任何意义

它不会引导您进入下一页结果。

您始终会得到同一组 (20) 个结果,并一次又一次地绘制同一组标记,直到达到 QUERY_LIMIT。当您在 10 个请求后达到 QUERY_LIMIT 时,您会绘制 200,当您在 12 个请求后达到 QUERY_LIMIT 时,您会绘制 240,但无论您运行搜索的频率如何,您都不会得到超过 20 个不同的位置(标记)

虽然您绘制了 200 个(或更多)标记,但您只看到 20 个标记,因为它们位于相同位置。

使用方法pagination.nextPage()访问下一组结果。

关于javascript - 使用 Google map 地点库在 map 上显示的标记不超过 20 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33028014/

相关文章:

javascript - 将 css 附加到当前菜单

android - Android Marshmallow 最新更新中未显示 map

google-maps - 在扩展程序弹出窗口中显示 Google map

ios - 如何在 ios 中使用 Google map sdk 获取当前位置

java - 如何从 Google Places API 将 PlacePicker 的 map 类型从简单更改为卫星?

javascript搜索并替换前缀零

javascript - 在 Meteor 中读取 JSON 文件

javascript - vuejs - 如何将 watch 与 Prop 一起使用?

android - 可以在 google places api 中插入我们的地点数据吗?

javascript - Google Places Autocomplete 事件标签按下