2012-08-22 78 views

回答

0

要更改全景角度,您必須更改Point-of-View參數,即heading
這個變量是度數(0是北,90東,...)。

鑑於握着你的panorama一個變量:

const panorama = new google.maps.StreetViewPanorama(container, opts); 

獲取全景POV與getPov

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);