我正试图从谷歌地方获取图片。所有人都在努力寻找细节:评论,地址......但是当我尝试拍照时,我得到了404.
if(place.photos != null){
for(var i = 0; i < place.photos.length; i++){
var str = place.photos[i].getUrl({"maxWidth": 100, "maxHeight": 100});
var res = str.replace("w100-h100-p", "p");
self.pacPhotos.push({
id : res
});
}
}else {
console.log("no photo");
}
}
这将返回列表ok,但URL格式错误。就像这样。
“https://lh3.googleusercontent.com/w100-h100-p/AF1QipN3xzffYDPCyEIWnvAQGd3RwNs2C14sVlSqrrAh=k”
我想收集的是这个。 “https://lh3.googleusercontent.com/p/AF1QipN3xzffYDPCyEIWnvAQGd3RwNs2C14sVlSqrrAh=k”
唯一的区别是“w100-h100 - ”
***“Sulyman”在这里有一个很好的解决方法。我知道这不是一个长期解决方案,因为我确信谷歌会修复他们的结果(如Place API - getting place photo as marker icon所述)
现在我已调整上面的代码以反映Sulymans的建议。 ***
答案 0 :(得分:2)
似乎每个API密钥都会生成不同的路径
例如,你得到了w100-h100-p
,我得到了w200-p
并且这个部分的好消息是固定的,所以你可以用另一个字符串p
替换它
var str = place.photos[0].getUrl();
var res = str.replace(""w100-h100-p", "p");
或者您可以删除w100-h100-