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