function initPano() {
// Set up Street View and initially set it visible. Register the
// custom panorama provider function. Set the StreetView to display
// the custom panorama 'reception' which we check for below.
var panorama = new google.maps.StreetViewPanorama(
document.getElementById('map'), {
pano: 'reception',
visible: true,
panoProvider: getCustomPanorama
});
}
// Return a pano image given the panoID.
function getCustomPanoramaTileUrl(pano, zoom, tileX, tileY) {
// Note: robust custom panorama methods would require tiled pano data.
// Here we're just using a single tile, set to the tile size and equal
// to the pano "world" size.
return 'http://bestofdiscus.gr/portals/0/Discus-Header-WR.jpg';
}
function getCustomPanorama(pano, zoom, tileX, tileY) {
if (pano === 'reception') {
return {
location: {
pano: 'reception',
description: 'Google Sydney - Reception'
},
links: [],
// The text for the copyright control.
copyright: 'Imagery (c) 2010 Google',
// The definition of the tiles for this panorama.
tiles: {
tileSize: new google.maps.Size(1024, 512),
worldSize: new google.maps.Size(1024, 512),
centerHeading: 105,
getTileUrl: getCustomPanoramaTileUrl
}
};
}
}
在这段代码中,我不理解参数:pano,zoom,tileX,tileY在函数getCustomPanoramaTileUrl中。据我所知,在不使用这些参数的情况下,该函数将返回一个图像的url。
我的问题是: 1 /这些参数用于什么以及如何使用它? 2 /什么是全景ID(我一直在搜索它但仍然无法理解)
答案 0 :(得分:1)
您可能在想,"为什么我的问题被低估?" (PS:我没有做到!)。在提出问题时,在没有任何上下文的情况下拍下随机代码会让任何人试图像你一样迷失方向。
虽然代码很有用,但您的问题却缺少重要信息:
在提出问题之前,请务必阅读以下页面https://stackoverflow.com/help/how-to-ask
在进行了一些挖掘和研究之后,我发现您的代码实际上是Google文档Custom Street View panoramas中的一段代码。
考虑到这一点,Google提供了一些有关此问题的文档,可帮助您了解代码的运行情况:
尽管Google谈论了包含多个视图的自定义全景图,但提供的示例过于简单,无法说明Google为您提供的资源的全部潜力。
现在,关于你的具体问题......
pano, zoom, tileX, tileY
用于什么?在您提供的代码示例中,它们用于......什么都没有。您可以从getCustomPanoramaTileUrl
中逐字删除它们,代码仍可以使用。
那么,它们用于什么?那么,根据References Documentation for StreetView,这些参数具有以下目标:
获取指定图块的图块图像URL。 全景是全景图 街景视图图块的ID。 tileZoom 是磁贴的缩放级别。 tileX 是磁贴的x坐标。 tileY 是y坐标 瓷砖。返回图块图像的URL。
现在,如果这仍然令人困惑,我会尝试解释。
自定义全景图是一组图像,放在一起,如下图所示:
使用真实全景视图时,您想传递一组图像,而StreetView对象需要知道您所指的是哪一组图像(全景),缩放级别(缩放)和内部,您当前看到的图像的X和Y位置(tileX和tileY)。
在您提供的示例中,由于它非常简单,因此无论如何都会使用相同的图像。但是在一个使用一组图像的更复杂的例子中,这些信息对于让StreetView知道您正在查看的位置以显示正确的图像至关重要。
希望它有所帮助!