Point wind arrow into the wind (standard meteorological convention)
WindArrowIcon zeigte bisher windabwaerts (Fliessrichtung der Luft), gedreht um (dirFrom + 180) Grad - 1:1 uebernommen aus windArrowSvg() im HTML-Demonstrator. Die Standardkonvention bei Wetterfahnen und Windbarben auf Wetterkarten ist jedoch, dass der Pfeil windaufwaerts zeigt, also dorthin, woher der Wind kommt. Dreht jetzt direkt um dirFromDeg statt (dirFromDeg + 180) - betrifft zentral alle Verwendungen (Kopfleisten-Windpille, Wegpunktlisten-Zeile, Windmarker auf der Karte), da diese alle nur dirFromDeg durchreichen. Weicht damit bewusst vom HTML-Demonstrator ab (dort weiterhin Fliessrichtung) - im Code-Kommentar dokumentiert. flutter analyze und alle 117 Tests bestehen unveraendert. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
f25c312697
commit
2f697f1356
@@ -2,9 +2,10 @@ import 'dart:math' as math;
|
|||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
/// Windpfeil, der in die Richtung zeigt, in die der Wind weht (nicht woher
|
/// Windpfeil, der in den Wind zeigt (also dorthin, woher er kommt) -
|
||||||
/// er kommt) - analog windArrowSvg() im HTML-Demonstrator, dort ebenfalls
|
/// Standardkonvention bei Wetterfahnen und Windbarben auf Wetterkarten.
|
||||||
/// um (dirFrom + 180) Grad gedreht.
|
/// Weicht damit bewusst von windArrowSvg() im HTML-Demonstrator ab, der
|
||||||
|
/// stattdessen um (dirFrom + 180) Grad in Fliessrichtung des Windes dreht.
|
||||||
class WindArrowIcon extends StatelessWidget {
|
class WindArrowIcon extends StatelessWidget {
|
||||||
const WindArrowIcon({
|
const WindArrowIcon({
|
||||||
super.key,
|
super.key,
|
||||||
@@ -19,9 +20,8 @@ class WindArrowIcon extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final towardDeg = (dirFromDeg + 180) % 360;
|
|
||||||
return Transform.rotate(
|
return Transform.rotate(
|
||||||
angle: towardDeg * math.pi / 180,
|
angle: dirFromDeg * math.pi / 180,
|
||||||
child: Icon(Icons.navigation, size: size, color: color),
|
child: Icon(Icons.navigation, size: size, color: color),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user