# Namespace: interaction

## olx.interaction

### Type Definitions

#### olx.interaction.DefaultsOptions{Object} experimental

  Interactions for the map. Default is `true` for all options.

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `altShiftDragRotate` | boolean | undefined | <optional> | Whether Alt-Shift-drag rotate is desired. Default is `true`.
  `doubleClickZoom` | boolean | undefined | <optional> | Whether double click zoom is desired. Default is `true`.
  `keyboard` | boolean | undefined | <optional> | Whether keyboard interaction is desired. Default is `true`.
  `mouseWheelZoom` | boolean | undefined | <optional> | Whether mousewheel zoom is desired. Default is `true`.
  `shiftDragZoom` | boolean | undefined | <optional> | Whether Shift-drag zoom is desired. Default is `true`.
  `dragPan` | boolean | undefined | <optional> | Whether drag pan is desired. Default is `true`.
  `pinchRotate` | boolean | undefined | <optional> | Whether pinch rotate is desired. Default is `true`.
  `pinchZoom` | boolean | undefined | <optional> | Whether pinch zoom is desired. Default is `true`.
  `zoomDelta` | number | undefined | <optional> | Zoom delta.
  `zoomDuration` | number | undefined | <optional> | Zoom duration.

#### olx.interaction.DoubleClickZoomOptions{Object} experimental

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `duration` | number | undefined | <optional> | Animation duration in milliseconds. Default is `250`.
  `delta` | number | undefined | <optional> | The zoom delta applied on each double click, default is `1`.

#### olx.interaction.DragAndDropOptions{Object} experimental

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `formatConstructors` | Array.<function(new:ol.format.Feature)> | undefined | <optional> | Format constructors.
  `reprojectTo` | ol.proj.ProjectionLike |  | Target projection. By default, the map's view's projection is used.

#### olx.interaction.DragBoxOptions{Object} experimental

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `condition` | ol.events.ConditionType | undefined | <optional> | A conditional modifier (i.e. Shift key) that determines if the interaction is active or not, default is always.
  `style` | ol.style.Style |  | Style for the box.

#### olx.interaction.DragPanOptions{Object} experimental

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `kinetic` | ol.Kinetic | undefined | <optional> | Kinetic inertia to apply to the pan.

#### olx.interaction.DragRotateAndZoomOptions{Object} experimental

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `condition` | ol.events.ConditionType | undefined | <optional> | A conditional modifier (i.e. Shift key) that determines if the interaction is active or not, default is shify key.

#### olx.interaction.DragRotateOptions{Object} experimental

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `condition` | ol.events.ConditionType | undefined | <optional> | A conditional modifier (i.e. Shift key) that determines if the interaction is active or not, default is both shift and alt keys.

#### olx.interaction.DragZoomOptions{Object} experimental

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `condition` | ol.events.ConditionType | undefined | <optional> | A conditional modifier (i.e. Shift key) that determines if the interaction is active or not, default is shift key.
  `style` | ol.style.Style |  | Style for the box.

#### olx.interaction.DrawOptions{Object} experimental

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `features` | ol.Collection | undefined | <optional> | Destination collection for the drawn features.
  `source` | ol.source.Vector | undefined | <optional> | Destination source for the drawn features.
  `snapTolerance` | number | undefined | <optional> | Pixel distance for snapping to the drawing finish (default is 12).
  `type` | ol.geom.GeometryType |  | Drawing type ('Point', 'LineString', 'Polygon', 'MultiPoint', 'MultiLineString', or 'MultiPolygon').
  `minPointsPerRing` | number | undefined | <optional> | The number of points that must be drawn before a polygon ring can be finished (default is 3).
  `style` | ol.style.Style | Array.<ol.style.Style> | ol.feature.StyleFunction | undefined | <optional> | Style for sketch features.
  `geometryName` | string | undefined | <optional> | Geometry name to use for features created by the draw interaction.
  `condition` | ol.events.ConditionType | undefined | <optional> | A conditional modifier (e.g. shift key) that determines if the interaction is active (i.e. a click adds a vertex) or not. By default, a click with no modifier keys adds a vertex.

#### olx.interaction.KeyboardPanOptions{Object} experimental

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `condition` | ol.events.ConditionType | undefined | <optional> | A conditional modifier (i.e. Shift key) that determines if the interaction is active or not, default is no modifiers.
  `pixelDelta` | number | undefined | <optional> | Pixel The amount to pan on each key press. Default is `128` pixels.

#### olx.interaction.KeyboardZoomOptions{Object} experimental

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `duration` | number | undefined | <optional> | Animation duration in milliseconds. Default is `100`.
  `condition` | ol.events.ConditionType | undefined | <optional> | A conditional modifier (i.e. Shift key) that determines if the interaction is active or not, default is no modifiers.
  `delta` | number | undefined | <optional> | The amount to zoom on each key press. Default is `1`.

#### olx.interaction.ModifyOptions{Object} experimental

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `deleteCondition` | ol.events.ConditionType | undefined | <optional> | Condition that determines which event results in a vertex deletion. Default is a `singleclick` event with no modifier keys.
  `pixelTolerance` | number | undefined | <optional> | Pixel tolerance for considering the pointer close enough to a segment or vertex for editing. Default is 10 pixels.
  `style` | ol.style.Style | Array.<ol.style.Style> | ol.feature.StyleFunction | undefined | <optional> | FeatureOverlay style.
  `features` | ol.Collection |  | The features the interaction works on.

#### olx.interaction.MouseWheelZoomOptions{Object} experimental

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `duration` | number | undefined | <optional> | Animation duration in milliseconds. Default is `250`.

#### olx.interaction.PinchRotateOptions{Object} experimental

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `threshold` | number | undefined | <optional> | Minimal angle in radians to start a rotation. Default is `0.3`.

#### olx.interaction.PinchZoomOptions{Object} experimental

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `duration` | number | undefined | <optional> | Animation duration in milliseconds. Default is `400`.

#### olx.interaction.SelectOptions{Object} experimental

  ##### Properties:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `addCondition` | ol.events.ConditionType | undefined | <optional> | A conditional modifier (e.g. alt key) that determines if the feature is added to the current selection. By default, this is never. Note that the default toggle condition allows features to be added.
  `condition` | ol.events.ConditionType | undefined | <optional> | A conditional modifier (e.g. shift key) that determines if the interaction is active (i.e. selection occurs) or not. By default, a click with no modifier keys toggles the selection.
  `layers` | Array.<ol.layer.Layer> | function |  | A list of layers from which features should be selected. Alternatively, a filter function can be provided. The function will be called for each layer in the map and should return `true` for layers that you want to be selectable. If the option is absent, all visible layers will be considered selectable.
  `style` | ol.style.Style | Array.<ol.style.Style> | ol.feature.StyleFunction | undefined | <optional> | FeatureOverlay style.
  `removeCondition` | ol.events.ConditionType | undefined | <optional> | A conditional modifier (e.g. alt key) that determines if the feature is removed from the current selection. By default, this is never.
  `toggleCondition` | ol.events.ConditionType | undefined | <optional> | A conditional modifier (e.g. shift key) that determines if the selection is toggled in the current selection. By default, a shift-click toggles the feature in the current selection.