marker_widget 1.0.0
marker_widget: ^1.0.0 copied to clipboard
Render any Flutter widget into a google_maps_flutter BitmapDescriptor, with caching, proper pixel-ratio handling, and modern Flutter View APIs.
Changelog #
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.0 - 2025-11-24 #
Added #
- Initial release of marker_widget.
- Off-screen renderer that converts any
Widgetinto PNG bytes using:RenderView+ViewConfigurationwith logical & physical constraints.RepaintBoundaryand explicitPipelineOwner/BuildOwnerlifecycle.
MarkerIconvalue object that encapsulates:- PNG bytes.
- Logical size.
- Device pixel ratio.
- Conversion to
BitmapDescriptor.byteswithMapBitmapScaling.
MarkerIconRenderer:- Configurable default logical size.
- Optional LRU-based in-memory cache with size limit.
- Optional image-aware second pass via
waitForImages.
MarkerIconScalingMode:logicalSizemode (stable logical size, default).imagePixelRatiomode (pixel-perfect usingimagePixelRatio).
WidgetMarkerExtension.toMarkerBitmap:- Convert any widget into a
BitmapDescriptorusing the default (or injected) renderer. - Supports
waitForImages, custom pixel ratio, bitmap scaling, and scaling mode.
- Convert any widget into a
- Top-level
widgetToMarkerBitmaphelper for use without aBuildContext. buildMarkerCacheKeyhelper for theme/locale/size-aware marker caching.- Example app demonstrating:
- Basic usage with a custom card-like marker.
- Toggling between logical-size and image-pixel-ratio scaling modes.