我正在使用 Google Street view API 并且想要禁用除平移和缩放之外的所有控件。如果您单击或双击它会将您的位置更改为该位置。现在我正在使用 'position_changed' 事件来检查用户是否更改了位置,然后尝试将位置重置为原始位置。这是一个黑客,但我发现这一切都是可能的。我遇到的问题是我陷入了无限循环。
var origPosY = panorama.getPosition().Ya,
origPosX = panorama.getPosition().Za,
originalPos = new google.maps.LatLng(panorama.getPosition().Ya, panorama.getPosition().Za);
google.maps.event.addListener(panorama, 'position_changed', function() {
//console.log('Position changed',panorama.getPosition().Ya, panorama.getPosition().Za);
//var newPos = new google.maps.LatLng(panorama.getPosition().Ya, panorama.getPosition().Za);
if( origPosY != panorama.getPosition().Ya ){
console.log('Resetting pos');
panorama.setPosition(originalPos);
}
});
看来,当我检查以确保它们不同时,它仍在 if 语句中。有谁知道禁用此功能的任何其他方法?它们允许您禁用所有控件,但不能禁用双击和鼠标滚轮。任何帮助将不胜感激。