mapcn_flutter 1.0.0
mapcn_flutter: ^1.0.0 copied to clipboard
A beautiful, customizable dark-themed map widget for Flutter with animated markers, routes, multiple themes, and smooth camera animations. Inspired by mapcn.dev.
1.1.0 #
🛤️ Route Drawing & Performance Update #
✨ New Features
Route Drawing:
- Added
MapcnRouteclass for defining routes between points - Added
RouteConfigfor comprehensive route customization - Added 5 route styles:
solid,dashed,dotted,gradient,animated - Added direction arrows on routes
- Added customizable start/end endpoint markers
- Added route animation support with progress control
Route Utilities (RouteUtils):
- Added
calculateDistance()- Haversine distance between points - Added
calculateBearing()- Direction between points - Added
simplifyRoute()- Douglas-Peucker route simplification - Added
totalDistance()- Full route length calculation - Added
interpolatePoint()- Point interpolation along segment - Added
interpolateAlongRoute()- Point at distance along route
Performance:
- Added
enableRepaintBoundaryoption for isolating map repaints - Added
enableTileCachingoption for tile load optimization - Optimized route rendering with configurable arrow spacing
- Improved marker
shouldRepaintlogic
🔧 Improvements
- Routes integrate seamlessly with existing markers and themes
- Route arrows respect map rotation
- Endpoint markers match theme styling
- Updated example app with route showcase
- Updated documentation with route examples
1.0.0 #
Major Release - Complete Package Overhaul #
New Features
Themes:
- Added 4 new themes:
sunset,ocean,sepia,highContrast - Added
MapcnThemes.createCustomTheme()for easy custom matrix creation - Added
MapcnThemes.invert()andMapcnThemes.combine()utilities - Added
MapcnThemes.getRecommendedAccentColor()for theme-matched accents
Markers:
- Added
MarkerConfigclass for comprehensive marker customization - Added 5 marker animation styles:
pulse,static,radar,ring,breathe - Added preset configurations:
MarkerConfig.minimal,prominent,elegant - Added shadow support and glow intensity control
- Optimized
shouldRepaintfor better performance
Controller:
- Added
isReadyproperty to check map initialization state - Added
zoomIn()andzoomOut()convenience methods - Added
rotateTo()andresetRotation()for map rotation - Added
jumpTo()for instant camera moves - Added
camera,center,zoomgetters for current state - Added pending operations queue (safe to call methods before map ready)
- Added
onStopReachedcallback for guided tours - Added customizable
curveparameter for animations
Widget:
- Added
onMapReadycallback - Added
onCameraMovecallback for camera position updates - Added
showTooltipoption to disable built-in popup - Added
tooltipBuilderfor custom marker popups - Added
showLoadingIndicatoroption - Added
showAttributionfor OSM license compliance - Added
minZoomandmaxZoomconstraints - Added
pulseDurationfor animation speed control
UI/UX:
- Enhanced glassmorphism tooltip with animations
- Added scale and fade transitions for popups
- Improved loading indicator appearance
- Added error banner for tile loading failures
- Better theme-matched background colors
🛡️ Crash Prevention
- Added null-safety checks throughout
- Added
mountedstate verification before setState - Added animation value clamping (0.0 - 1.0)
- Added safe controller disposal
- Added try-catch in animation callbacks
- Added matrix length validation for custom themes
- Added empty list checks for fitAllPoints/startTour
Documentation
- Complete README rewrite with examples
- Added API reference tables
- Added theme comparison table
- Added error prevention section
0.0.1 #
- Initial release with basic map functionality