【问题标题】:Not more than 20 markers displaying on Maps using Google maps Places library使用 Google 地图 Places 库在地图上显示的标记不超过 20 个
【发布时间】:2015-10-09 00:23:43
【问题描述】:

尝试使用 Google Places API 获取城市内的所有餐厅。 即使返回了 100 条记录,地图上也只显示了 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
        }
       }
     }
  }

【问题讨论】:

标签: javascript google-maps google-places-api


【解决方案1】:

这一行完全没用:

 textSearchrequest.pagetoken = next_page_token;

pagetoken 是places-webservice 的URL 参数,在places-library 中没有意义

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

您总是得到相同的 (20) 个结果集并一次又一次地绘制相同的标记集,直到您达到 QUERY_LIMIT。当您在 10 次请求后点击 QUERY_LIMIT 时,您会绘制 200,当您在 12 次请求后点击 240 次时,但无论您多久运行一次搜索,您永远不会得到超过 20 个不同的地方(标记)

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

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

【讨论】:

  • 你是对的。我没有观察到结果集在重复。最后我能够使用 pagination.nextPage() 让它工作。我还没有足够的声誉来支持这个答案,但这个答案绝对值得一个。非常感谢。
猜你喜欢
  • 2016-11-09
  • 2018-04-17
  • 1970-01-01
  • 1970-01-01
  • 2021-02-06
  • 1970-01-01
  • 2014-07-12
  • 1970-01-01
  • 2014-07-21
相关资源
最近更新 更多