Google maps api 3 如何返回有服务区但没有位置的地点的评论?

Google maps api 3 如何返回有服务区但没有位置的地点的评论?,google-maps-api-3,Google Maps Api 3,我注意到在使用GooglePlacesAPI时返回评论有一个问题 事实上,对于有地理位置的企业来说,它的运作毫无问题 当我使用一个没有位置但有服务区的企业的场所ID时,它就不再工作了 经过几次分析,我注意到当我使用console.log登录“google.maps.places.PlacesServiceStatus”时,对于没有位置的企业,它会返回“未找到”。但它们确实存在 这是我在代码笔上的代码,有两个位置ID。第一个有位置,可以工作,另一个有服务区,不能工作 window.addEven

我注意到在使用GooglePlacesAPI时返回评论有一个问题

事实上,对于有地理位置的企业来说,它的运作毫无问题

当我使用一个没有位置但有服务区的企业的场所ID时,它就不再工作了

经过几次分析,我注意到当我使用console.log登录“google.maps.places.PlacesServiceStatus”时,对于没有位置的企业,它会返回“未找到”。但它们确实存在

这是我在代码笔上的代码,有两个位置ID。第一个有位置,可以工作,另一个有服务区,不能工作

 window.addEventListener("load", function() {

    //////////////////////////////////////////////  
    // ┌──────────────────────────────────────┐ //
    // │ Google Place                         │ //
    // │ Based on Google-Place.js             │ //
    // └──────────────────────────────────────┘ //
    //////////////////////////////////////////////

    var parameters = {

            selector : '#google-reviews',
            min_rating : 1,
            id : 'ChIJ4wzGc-h7wUcR3ncdI5-EELg' // (GMB ("FirewooD") with specified location) => Work, it return 5 last reviews
//    id : 'ChIJsWBxIXYhwkcRtbHQpK2MnNc' // (GMB ("MD Jardins") without location but with service areas) => Doesn't work

        }

    // ─────────────────────────────────────── //

    var initialize_place = function(c){

        var request = {

        placeId: parameters.id

        };

        var map = new google.maps.Map(document.getElementById('map-plug')),
              service = new google.maps.places.PlacesService(map);

        service.getDetails(request, function(place, status) {

        console.log("status: " + status);

        if (status == google.maps.places.PlacesServiceStatus.OK) {
          c(place.reviews);         
        }

        });

    } // end initialize_place()

    var sort_by_date = function(ray) {

      ray.sort(function(a, b){

        var keyA = new Date(a.time),
            keyB = new Date(b.time);

        // Compare the 2 dates
        if(keyA < keyB) return 1;
        if(keyA > keyB) return -1;

        return 0;

      });
        return ray;

    } // end sort_by_date()

    var filter_minimum_rating = function(reviews){

      for (var i = reviews.length -1; i >= 0; i--) {

          if(reviews[i].rating < parameters.min_rating){
            reviews.splice(i,1);
          }

      }

      return reviews;

    } // end filter_minimum_rating()

    var renderRating = function(rating){

          var html = "",
                star = renderAverageStars(rating);

          html = "<div class='average-rating'><h4>"+star+"</h4></div>";

    } // end renderRating()

    var shorten_name = function(name) {
      if (name.split(" ").length > 1) {

         var xname = "";
         xname = name.split(" ");
         return xname[0] + " " + xname[1][0] + ".";

      }
    } // end shorten_name()

    var renderReviews = function(reviews){

      reviews = sort_by_date(reviews);
          reviews = filter_minimum_rating(reviews);

      console.log(reviews);
          var html = "",
            row_count = (5 > 0)? 5 - 1 : reviews.length - 1;

      for (var i = 0; reviews.length > i; i++) {

          var stars = renderStars(reviews[i].rating),
              date = convertTime(reviews[i].time),
              name = reviews[i].author_name,
              photo = reviews[i].profile_photo_url,
              text = reviews[i].text;

          html = "<div class='review-item CJS_slide'><div class='inner'><img class='photo' src='"+photo+"' alt=\""+name+"\"><div class='review-wrap'>"+stars+"<span class='review-author'>"+name+"</span><span class='review-date'>"+date+"</span><p class='review-text'>"+text+"</p></div></div></div>";

          document.querySelector(parameters.selector+' .CJS_wrapper').innerHTML += html;

      }

    }; // end renderReviews()

    var renderStars = function(rating){

      var stars = "<div class='review-stars'><ul>";

      // fill in gold stars
      for (var i = 0; i < rating; i++) {
        stars = stars+"<li><i class='star'></i></li>";
      };

      // fill in empty stars
      if(rating < 5){
        for (var i = 0; i < (5 - rating); i++) {
          stars = stars+"<li><i class='star inactive'></i></li>";
        };
      }
      stars = stars+"</ul></div>";
      return stars;

  } // end renderStars()

    var convertTime = function(UNIX_timestamp){

      var a = new Date(UNIX_timestamp * 1000),
          months = ['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Decembre'],
          time = a.getDate() + ' ' + months[a.getMonth()] + ' ' + a.getFullYear();

      return time;
    } // end convertTime()

    initialize_place(renderReviews);


});
window.addEventListener(“加载”,函数(){
//////////////////////////////////////////////  
// ┌──────────────────────────────────────┐ //
// │ 谷歌广场│ //
// │ 基于Google-Place.js│ //
// └──────────────────────────────────────┘ //
//////////////////////////////////////////////
变量参数={
选择器:“#谷歌评论”,
最低评级:1,
id:'ChIJ4wzGc-h7wUcR3ncdI5-EELg'/(指定位置的GMB(“木柴”)=>工作,它返回5个最后审查
//id:'ChIJsWBxIXYhwkcRtbHQpK2MnNc'/(没有位置但有服务区的GMB(“MD Jardins”)=>不起作用
}
// ─────────────────────────────────────── //
变量初始化位置=函数(c){
var请求={
placeId:parameters.id
};
var map=new google.maps.map(document.getElementById('map-plug'),
服务=新的google.maps.places.PlacesService(地图);
service.getDetails(请求、功能(位置、状态){
控制台日志(“状态:+状态”);
if(status==google.maps.places.PlacesServiceStatus.OK){
c(地点审查);
}
});
}//结束初始化\u位置()
变量按日期排序=函数(光线){
排序(函数(a,b){
var keyA=新日期(a.时间),
keyB=新日期(b.时间);
//比较两个日期
if(keyAkeyB)返回-1;
返回0;
});
返回射线;
}//按日期结束排序()
var过滤器\最小\评级=功能(审查){
对于(var i=reviews.length-1;i>=0;i--){
if(审查[i]。评级<参数。最低评级){
审查。拼接(i,1);
}
}
回报审查;
}//结束过滤器\最小\额定值()
var渲染=功能(额定值){
var html=“”,
星形=渲染器(额定值);
html=“+star+”;
}//结束渲染()
var shorten_name=函数(名称){
if(name.split(“”).length>1){
var xname=“”;
xname=name.split(“”);
返回xname[0]+“”+xname[1][0]+”;
}
}//end shorten_name()
var renderReviews=功能(评论){
审查=按日期排序(审查);
审查=过滤最低评级(审查);
控制台日志(评论);
var html=“”,
行计数=(5>0)?5-1:reviews.length-1;
对于(var i=0;reviews.length>i;i++){
var stars=renderStars(评论[i].评级),
日期=时间(审核[i]。时间),
name=评论[i]。作者姓名,
照片=评论[i]。个人资料\u照片\u url,
text=评论[i]。text;
html=“+stars+”“+name+”“+date+”

“+text+”

”; document.querySelector(parameters.selector+'.CJS_wrapper')。innerHTML+=html; } };//结束渲染视图() var renderStars=功能(额定值){ var stars=“
    ”; //填上金星 对于(var i=0;i”; }; //填空 如果(额定值<5){ 对于(var i=0;i<(5-评级);i++){ 星星=星星+“
  • ”; }; } 星星=星星+“
”; 回归之星; }//end renderStars() var convertTime=函数(UNIX_时间戳){ var a=新日期(UNIX_时间戳*1000), 月份=['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Aoút','Septbrare','Octobre','Novenbrae','Decebrare'], 时间=a.getDate()+''+月[a.getMonth()]+''+a.getFullYear(); 返回时间; }//结束时间() 初始化_位置(渲染视图); });

要检索位置ID,我使用“Write review”按钮()上的DevTools


这是虫子吗?如何从只有服务区的企业返回评论,并将其显示在公司网站上?

你确定该地点id吗?你也可以共享该企业名称,只是为了避免我(我们)花5分钟根据截图查找。。。无论如何我得到的这个地方的地方ID是ChIJjd1QNyA3wkcROXYaGkufQ0g,而不是您提供的那个。不过我也没有收到任何评论。*但我也没有在谷歌地图网站上看到任何评论……嘿,对不起,我不认为商业名称对这个问题有用。我刚刚更新了我的帖子并添加了名字。我已经检查并重新检查了位置ID,它们是正确的。他们都有很多评论。你在哪里找到你提到的身份证的地方?提前谢谢。我是通过搜索带有你截图(md jardin)上的名称和位置的Places API找到的。你确定该地点id吗?你也可以共享该企业名称,只是为了避免我(我们)花5分钟根据截图查找。。。无论如何我得到的这个地方的地方ID是
ChIJjd1QNyA3wkcR