我正在尝试从谷歌位置获取图像。一切都在为细节而努力:评论、地址...但是当我尝试获取照片时,我得到了 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");
}
}
这将正常返回列表,但 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 )
现在我已经调整了上面的代码以反射(reflect) Sulyman 的建议。 ***
最佳答案
似乎每个 API key 都会生成不同的路径
例如,你有 w100-h100-p
而我有 w200-p
好消息是,无论这部分是什么......都已修复,因此您可以将其替换为另一个字符串 p
var str = place.photos[0].getUrl();
var res = str.replace(""w100-h100-p", "p");
或者您可以删除w100-h100-
关于google-places-api - Google Places Photos .GetUrl 正在向 url 添加宽度和高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44939403/