Google Street View API:禁用通过双击更改位置

unc*_*jam 2 javascript google-maps google-maps-api-3 dom-events

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

        });
Run Code Online (Sandbox Code Playgroud)

看来,当我检查以确保它们不同时,它仍然进入 if 语句内。有谁知道禁用此功能的其他方法吗?它们允许您禁用所有控件,但不能禁用双击和鼠标滚轮。任何帮助将不胜感激。

Dr.*_*lle 6

设置选项clickToGoscrollwheelpanoramafalse