如何使用API自动旋转街景全景图?
像这样Google gallery。
答案 0 :(得分:4)
您可以通过更改每个时间间隔的标题来使用JavaScript计时器(window.setInterval)进行旋转。这是一个简单的例子:Rotating Street View Panorama using Google Maps
答案 1 :(得分:1)
要更改全景角度,您必须更改Point-of-View参数,即heading
此变量以度为单位(0表示北,90表示东方,...)。
给出一个包含panorama的变量:
const panorama = new google.maps.StreetViewPanorama(container, opts);
使用getPov
获取全景POV:
const oldPov = panorama.getPov();
然后用新值替换POV:
panorama.setPov({
header : oldPov.header + 1,
pitch : oldPov.pitch
});
这会将视点顺时针旋转一度。现在您只需使用setInterval
自动重复此代码:
let rotation = 1, // In degrees
interval = 100; // In milliseconds
const rotateId = setInterval(() => {
const oldPov = panorama.getPov();
panorama.setPov({
header : oldPov.header + rotation,
pitch : oldPov.pitch
});
}, interval);
(setInterval
需要传递给它的函数,在这种情况下它是arrow function)
请注意,上述情况可能会让人感到紧张
减少interval
会使其更新速度更快,但可能会降低性能
增加rotation
会使其变得更快
摆弄这两个价值观你应该得到你想要的东西。
要阻止它,
clearInterval(rotateId);