moon-sighting-dart/.github/wiki/examples/basic-usage.md
2026-05-29 06:34:31 -04:00

61 lines
1.7 KiB
Markdown

# Basic Usage Examples
## Tonight's Moon
```dart
import 'package:moon_sighting/moon_sighting.dart';
void main() {
final now = DateTime.now().toUtc();
final phase = getMoonPhase(now);
final position = getMoonPosition(now, 40.7128, -74.0060);
print('Moon tonight (New York):');
print(' Phase: ${phase.phaseName}');
print(' Illumination: ${phase.illumination.toStringAsFixed(1)}%');
print(' Altitude: ${position.altitude.toStringAsFixed(2)}°');
print(' Azimuth: ${position.azimuth.toStringAsFixed(2)}°');
print(' Distance: ${position.distanceKm.toStringAsFixed(0)} km');
}
```
## Ramadan Crescent Visibility Check
```dart
import 'package:moon_sighting/moon_sighting.dart';
void main() {
// Check crescent visibility for major Muslim cities on Ramadan eve
final eveningOfCheck = DateTime.utc(2026, 2, 17, 18, 0);
final cities = [
('Makkah', 21.4225, 39.8262, 3.0),
('Istanbul', 41.0082, 28.9784, 3.0),
('London', 51.5074, -0.1278, 0.0),
('New York', 40.7128, -74.0060, -5.0),
];
print('City Zone');
print('${'─' * 30}');
for (final (city, lat, lng, _) in cities) {
final vis = getMoonVisibilityEstimate(eveningOfCheck, lat, lng);
print('${city.padRight(18)}${vis.zone.label}');
}
}
```
## Moon Phase Calendar
```dart
import 'package:moon_sighting/moon_sighting.dart';
void main() {
print('Date,Phase,Illumination');
for (int day = 1; day <= 30; day++) {
final date = DateTime.utc(2025, 3, day, 12, 0);
final phase = getMoonPhase(date);
print('2025-03-${day.toString().padLeft(2, "0")},'
'${phase.phaseName},${phase.illumination.toStringAsFixed(1)}%');
}
}
```