我正在使用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;
});

10-07 18:07