Панорамирование карты щелчком колесика мыши вместо щелчка левой кнопкой мыши
Поведение по умолчанию для панорамирования карты — щелчок левой кнопкой мыши + перетаскивание. Я хотел бы изменить это поведение, чтобы оно выполнялось с помощью щелчка колеса + перетаскивания. Это возможно?
1 ответ
Этим занимаетсяScreenSpaceCameraController
, и настраивается. Например : _
const viewer = new Cesium.Viewer("cesiumContainer");
// for 3D mode
viewer.scene.screenSpaceCameraController.rotateEventTypes = Cesium.CameraEventType.MIDDLE_DRAG;
// for 2D mode
viewer.scene.screenSpaceCameraController.translateEventTypes = Cesium.CameraEventType.MIDDLE_DRAG;
// remove MIDDLE_DRAG from the top of the tiltEventTypes.
viewer.scene.screenSpaceCameraController.tiltEventTypes.shift();
Эта последняя команда выше используетArray.shift
чтобы удалить первый элементtiltEventTypes
множество. Здесь показано значение этого массива по умолчанию (для многих версий Cesium) :
this.tiltEventTypes = [
CameraEventType.MIDDLE_DRAG,
CameraEventType.PINCH,
{
eventType: CameraEventType.LEFT_DRAG,
modifier: KeyboardEventModifier.CTRL,
},
{
eventType: CameraEventType.RIGHT_DRAG,
modifier: KeyboardEventModifier.CTRL,
},
];
Это показывает нам, что можно по-прежнему генерировать события «наклона» даже после смещенияMIDDLE_DRAG
вход. Мы можем, например, перетащить CTRL влево, чтобы получить то же действие.