我很难找到链接的Photo Sphere
形成给定的google
panoid。
如果是see insides
PANO ID
我使用此API获取链接的panoId
http://cbk0.google.com/cbk?output=xml&panoid=< Photo Sphere
>
但是在see insides
的情况下,此API不会返回XML数据。任何人都可以帮我解决这个问题。
Photo Sphere
Pano ID =" enEZO0FuPFAAAAQvxYdP0w"
google.maps.event.trigger(map, 'resize');
Pano ID =" F:-fr8FidB2CSQ / V49sgVq8pHI /AAAAAAAABFw / bMktS2vh6mcQtQB6y1-vBXTPTZCCnxTbQCLIB"
答案 0 :(得分:0)
网址http://cbk0.google.com/cbk?output=xml&panoid=<PANO ID>
未记录功能,您应该知道Google Maps API服务条款禁止使用未记录的渠道访问图像。见ToS第10.1(a)段:
无法通过服务访问API或内容。除了通过服务外,您不会访问Maps API或内容。例如,您不得通过Maps API之外的接口或通道(包括未记录的Google界面)访问地图图块或图像。
https://developers.google.com/maps/terms#section_10_1
要通过服务访问全景数据,您应该使用API。例如,在Maps JavaScript API中,您可以使用StreetViewService类。
代码段
var panorama;
function initialize() {
var svService = new google.maps.StreetViewService();
var panoRequest = {
pano: "F:-fr8FidB2CSQ/V49sgVq8pHI/AAAAAAAABFw/bMktS2vh6mcQtQB6y1-vBXTPTZCCnxTbQCLIB"
};
svService.getPanorama(panoRequest, function(panoData, status){
if (status === google.maps.StreetViewStatus.OK) {
panorama = new google.maps.StreetViewPanorama(
document.getElementById('street-view'),
{
pano: panoData.location.pano,
pov: {
heading: 10,
pitch: 10
}
});
console.log(panoData);
} else {
//Handle other statuses here
}
});
}
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#street-view {
height: 100%;
}
<div id="street-view"></div>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDztlrk_3CnzGHo7CFvLFqE_2bUKEq1JEU&callback=initialize">
</script>
还存在Street View Image Metadata网络服务,但目前它不适用于Photo Spheres。
公共问题跟踪器中存在错误:
https://issuetracker.google.com/issues/35831151
但是,谷歌没有公开任何有关何时或是否可以修复的ETA。您可以为公共问题加注星标以添加投票。
<强>更新强>
最近,Google启用了通过街景图片API访问PhotoSpheres。虽然,全景ID格式已经改变。
F:-fr8FidB2CSQ/V49sgVq8pHI/AAAAAAAABFw/bMktS2vh6mcQtQB6y1-vBXTPTZCCnxTbQCLIB
现在是CAMSSi1mcjhGaWRCMkNTUS9WNDlzZ1ZxOHBISS9BQUFBQUFBQUJGdy9iTWt0UzJ2aDZtY1F0UUI2eTEtdkJYVFBUWkNDbnhUYlFDTElC
请查看我的answer了解详情。