我正在使用Google Streetview Api,并且试图锁定音高,以便用户只能向左或向右平移。这就是我尝试过的
panorama.addListener('pov_changed', function(e) {
var curHeading = panorama.getPov().heading;
this.setPov({
'pitch': 0,
'heading': curHeading
});
});
不幸的是,发生的是“ setPov”方法触发了另一个“ pov_changed”,因此最终陷入无限循环。我应该怎么做才能使音高保持为0?
最佳答案
您可以避免使用设置器(setPov)
并直接覆盖音高值。
将您的eventHandler修改为(这不会触发无限循环。):
panorama.addListener('pov_changed', function(e) {
if (!this.pov.pitch) { return; }
this.pov.pitch = 0;
});