Панорамирование карты щелчком колесика мыши вместо щелчка левой кнопкой мыши

Поведение по умолчанию для панорамирования карты — щелчок левой кнопкой мыши + перетаскивание. Я хотел бы изменить это поведение, чтобы оно выполнялось с помощью щелчка колеса + перетаскивания. Это возможно?

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 влево, чтобы получить то же действие.

Другие вопросы по тегам