2016-12-04 3 views
1

Ich habe eine Karte mit Cäsium über ol3-Cäsium. Diese Karte nutzt nicht den gesamten Speicherplatz der Website. Ich versuche, das Scrollrad-Zoomen zu deaktivieren, damit ich mit dem Mausrad die Webseite weiter und zurück scrollen kann.Mausrad in Cäsium deaktivieren

kann ich Mausrad zoomen mit deaktivieren:

map3d.getCesiumScene().screenSpaceCameraController.enableZoom = false; 

jedoch, dass mich nicht bringen die normale Seite Scrollen zurück. Das Scrolling-Ereignis scheint von Cäsium erfasst und nicht verbreitet zu sein.

Wie kann ich Cäsium dazu bringen, das Mausrad an den Browser zu ignorieren oder zu propagieren, damit der Benutzer die Seite scrollen kann, auch wenn sich der Cursor oben auf der Karte befindet?

Antwort

1

So etwas sollte den Trick tun. Achten Sie auf das Wheel Event im Caesium Container und wenn es passiert, scrollen Sie einfach durch das Fenster.

var pageStep = 25; 
document.getElementById('yout-cesium-container-id').addEventListener("wheel", function(event) { 
    if (event.deltaY < 0) { 
     window.scroll(0, window.pageYOffset - pageStep); 
    } else { 
     window.scroll(0, window.pageYOffset + pageStep); 
    } 
}); 

Sie müssen den Zoom in Cäsium immer noch deaktivieren.

map3d.getCesiumScene().screenSpaceCameraController.enableZoom = false; 
+0

Das ist ein guter Workaround, danke. Es sieht ein wenig abgehackt aus verglichen mit dem glatten Blättern des Browsers, aber es wird den Trick in Ermangelung einer nativeren Lösung tun. –