Custom icons, improved GPS, history layout, address fixes

- Replace placeholder SVG icons with custom PNG icons (80x80 padded)
- AffineTransform for pixel-perfect icon centering in menu ring
- Colored circles behind icons with icon drawn at 60% size
- GPS: always wait full timeout (30s), keep best quality fix
- History: show address, PLZ+city, coordinates on separate lines
- Geocoding: fall back to "name" field for street-level results,
  include PLZ+city in cached address data
- Address distance threshold raised to 70m

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
EiSiMo 2026-04-13 19:05:17 +02:00
parent 79cdb9f210
commit 216d40c2c5
18 changed files with 108 additions and 101 deletions

View file

@ -47,17 +47,16 @@ class GpsService {
if (info == null || info.position == null) { return; }
var degrees = info.position.toDegrees();
var acc = (info.accuracy != null) ? info.accuracy : null;
var quality = (info.accuracy != null) ? info.accuracy : 0;
_bestFix = {
"lat" => degrees[0].toFloat(),
"lon" => degrees[1].toFloat(),
"acc" => (acc != null) ? acc.toFloat() : null
};
// Good enough stop early.
if (acc != null && acc <= Config.GPS_TARGET_ACCURACY_M) {
_finish(_bestFix);
// Always keep the best quality fix.
if (_bestFix == null || quality >= (_bestFix["q"] as Number)) {
_bestFix = {
"lat" => degrees[0].toFloat(),
"lon" => degrees[1].toFloat(),
"acc" => quality.toFloat(),
"q" => quality
};
}
}