import 'package:flutter/material.dart'; import 'package:flutter_map/flutter_map.dart'; import 'package:latlong2/latlong.dart'; import 'fireMarkType.dart'; import 'fireMarkerIcon.dart'; /// Create a Marker with custom positioning for fires and other map objects Marker FireMarker( LatLng pos, FireMarkType type, [ VoidCallback? onTap, ]) { // Calculate offset based on marker type // Anchor point for center of marker: (40, calculated_y) final Offset offset = _getAnchorOffset(type); return Marker( point: pos, width: 80.0, height: 80.0, alignment: Alignment.center, child: GestureDetector( onTap: onTap, child: FireMarkerIcon(type), ), ); } /// Get the anchor offset based on marker type Offset _getAnchorOffset(FireMarkType type) { switch (type) { case FireMarkType.position: return Offset(40.0, 20.0); case FireMarkType.fire: return Offset(40.0, 24.0); case FireMarkType.pixel: // Auto-calculate based on marker size return Offset(40.0, 40.0); case FireMarkType.falsePos: case FireMarkType.industry: return Offset(40.0, 35.0); default: return Offset(40.0, 40.0); } }