flutter_map_interactive library

Classes

ActionLayer
ActionLayerOptions
Options for action layer (edit mode actions).
ActionMarkerOptions
Options for action widget attached to a marker.
ActionOverlayOptions
Options to configure an action widget attached to an overlay.
ActionPolylineOptions
Options for action widget attached to a polyline.
ActiveMarkerOptions
Options for the active state of a marker.
ActiveOverlayOptions
Options to configure the active state of an overlay.
ActivePolylineOptions
Options for the active state of a polyline.
AutoPanOnDragOptions
Options for auto-panning the map when dragging near edges.
CollisionLayerBits
Defines bitmask constants for various collision layers in the map widget. Each layer represents a specific interactive or visual element that can be managed independently for hit-testing, rendering, or event handling.
CollisionLayoutBuilder<T>
Main widget for managing collision-aware placement. Handles measuring, layout, and rendering of nodes with collision avoidance.
CollisionNode<T>
Represents a node/item that can participate in collision detection. Contains position, size, category, and other metadata.
CollisionOptions
Configuration for collision detection layout.
CollisionPlacement
Stores the placement (offset and center) of a collision node after layout.
CollisionStrategy
CombinedSelector<S>
ConnectorPainter
CrossTarget
DragEnded<T>
Emitted when a drag operation ends.
DragStarted<T>
Emitted when a drag operation starts.
DragUpdated<T>
Emitted during drag updates (position changes).
EditHandle
A specialized InteractiveMarker used as a draggable handle for editing.
EditModeChanged<T>
Emitted when edit mode is toggled.
EditModeRedoButton
EditModeToggleButton
EditModeUndoButton
EntityDelta<T>
Represents a set of changes (added, removed, moved, updated) between two lists of entities.
ExpandableMarkerAction
FlutterMapAnimatedContainer
FlutterMapContainer
GestureLayer
GestureMarkerOptions
Options for gesture callbacks on a marker.
GestureOverlayOptions
Options to configure specific gesture callbacks for an overlay.
GesturePolylineOptions
Options for gesture callbacks on a polyline.
GlowOverlay
HistoryChanged<T>
Emitted when the history state changes (after add/remove/update/undo/redo).
HoverCleared<T>
Emitted when hover is cleared from an item.
InheritedInteractiveScope<T extends Object>
InteractiveController<T>
A unified base controller for managing interactive entities T.
InteractiveEnabledGestures
Configuration for which gestures are enabled.
InteractiveEvent<T>
Base sealed class for all interactive events.
InteractiveLayerOptions
Options for interactive marker layer with active state support.
InteractiveLayerState<T extends StatefulWidget, C extends ChangeNotifier>
Abstract State class for interactive layers that use a controller.
InteractiveMarker
A specialized Marker that carries additional options for advanced features.
InteractiveMarkerItemLayer
InteractiveMarkerLayer
A Map Layer that renders Markers with enhanced capabilities.
InteractiveMarkerScope
InteractiveOptions<T>
Main configuration options for interactive layers.
InteractiveOverlayImage
Represents a single image overlay defined by 4 geographic corners.
InteractiveOverlayLayer
InteractiveOverlayScope
InteractivePolyline<R extends Object>
A wrapper around Polyline that adds identification and data.
InteractivePolylineLayer
InteractivePolylineScope
ItemAdded<T>
Emitted when an item is added.
ItemDeselected<T>
Emitted when an item is deselected. If item is null, all items were deselected.
ItemHovered<T>
Emitted when an item is hovered.
ItemLongPressed<T>
Emitted when an item is long-pressed.
ItemRemoved<T>
Emitted when an item is removed.
ItemSelected<T>
Emitted when an item becomes selected/active.
ItemTapped<T>
Emitted when an item is tapped.
ItemUpdated<T>
Emitted when an item is updated.
LabelLayer
LabelLayerOptions
Options for label layer.
LabelMarkerOptions
Options for label attached to a marker.
LabelOverlayOptions
Options to configure a label attached to an overlay.
LabelPolylineOptions
Options for label attached to a polyline.
ListenableSelector<T extends Listenable, S>
MapCenterButton
MapControlButton
MarkerAction
MarkerActionMenu
MarkerController
A unified controller for managing marker state and interactions.
MarkerHitboxLayer
MarkerLayerOptions
Base options for marker layers.
MarkerOptions
Base sealed class for all marker options.
MarkerTargetLayer
MarkerTransientLayer
MeasureSize
OrbitStrategy
OverlayController
OverlayGestureLayer
OverlayHandleLayer
OverlayHandleOptions
Options for overlay editing handles.
OverlayLayer
OverlayLayerOptions
Options for the overlay layer.
OverlayOptions
Base sealed class for all overlay options.
OverlayTransientLayer
PolylineController
A unified controller for managing polyline state (CRUD) and user interactions (Selection, Hover).
PolylineGestureLayer
PolylineHandleLayer
PolylineHandleOptions
Options for polyline editing handles.
PolylineHitboxLayer
PolylineLayerOptions
Options for the polyline layer.
PolylineOptions
Base sealed class for all polyline options.
PolylineTransientLayer
PopupLayer
PopupLayerOptions
Options for popup layer.
PopupMarkerOptions
Options for popup attached to a marker.
PopupOverlayOptions
Options to configure a popup attached to an overlay.
PopupPolylineOptions
Options for popup attached to a polyline.
QuadLatLng
RadialFanStrategy
Collision strategy that samples a radial fan around the anchor.
RenderMeasureSize
SimpleMarkerAction
SnapBackSpiralStrategy
A collision strategy that resolves marker overlaps by snapping them back along a spiral path. This approach attempts to reposition markers in a visually appealing spiral pattern, reducing overlap while maintaining proximity to their original location.
SpatialHashGrid
Spatial hash grid for fast collision queries. Divides space into cells and tracks rectangles in each cell.
SpatialIndex<T>
A generic spatial index for fast 2D range queries on geographical coordinates.
StickyGoldenFanStrategy
Stable collision strategy with a bounded search budget.
StickyNearestStrategy
Collision strategy that searches near the previous offset first.
StreamListenable<T>
TransientState<T>
TrashMarkerAction

Functions

isInMobileLayer(BuildContext context) bool
overlayMatrix({required Offset origin, required Size size, required Alignment alignment, required bool rotate, double mapRotationRad = 0.0, EdgeInsets margin = EdgeInsets.zero, Offset pixelOffset = Offset.zero}) Matrix4
overlayRect({required Offset origin, required Size size, required Alignment alignment, required bool rotate, double mapRotationRad = 0.0, EdgeInsets margin = EdgeInsets.zero, Offset pixelOffset = Offset.zero}) Rect
resolveMarkerScale(Marker m, {MarkerLayerOptions? options, bool active = false, bool touch = false}) double

Typedefs

CollisionItemBuilder<T> = Widget? Function(BuildContext context, MapCamera cam, CollisionNode<T> node, CollisionPlacement placement)
Signature for building a widget for a collision node at its placement.
CollisionNodesBuilder<T> = List<CollisionNode<T>> Function(BuildContext context, MapCamera cam)
Signature for building a list of collision nodes for the layer.
Eq<S> = bool Function(S a, S b)
InteractiveCallback<T> = void Function(T entity)
InteractState = ({bool drag, bool isEditing, bool longPress, bool tap})
MarkerActionBuilder = Widget Function(BuildContext context, Marker marker, {MarkerController? controller})
MarkerActionCallback = void Function(Marker marker, {MarkerController? controller})
MarkerWidgetBuilder = Widget Function(BuildContext context, MarkerController controller, Marker marker)
OnEntityChangedCallback<T> = void Function(T entity)
OnEntityDeltaCallback<T> = void Function(EntityDelta<T> delta)
OnSpatialUpdateCallback<T> = void Function(T entity, T oldEntity)
SelectorFn<T extends Listenable, S> = S Function(T notifier)
SelHoverState = ({bool isActive, bool isHovered})