Demo: Synthetische lokale Beispielkacheln, keine echten Geodaten.
Karte mit Pan/Zoom, Markern und Routenlinien. Ohne tileUrl bleibt die Fläche neutral; Quellen und Attribution richtet die Anwendung ein.
TxMap
| Parameter | Typ | Standard | Bedeutung |
|---|---|---|---|
| center | TxCoordinate | const TxCoordinate(52.52, 13.405) | Geografischer Kartenmittelpunkt. |
| zoom | int | 5 | Kartenzoomstufe. |
| minZoom | int | 1 | Kleinste Zoomstufe. |
| maxZoom | int | 19 | Größte Zoomstufe. |
| tileUrl | String? | null | Kachel-URL mit Platzhaltern {z}/{x}/{y}. |
| attribution | String? | null | Quellen-/Lizenzhinweis des Kartenanbieters. |
| markers | List<TxMapMarker> | const [] | Darzustellende Kartenmarker. |
| dataSource | Object? | null | Liste, Konfiguration oder DataSource-Instanz; hat Vorrang vor items. |
| routes | List<TxMapRoute> | const [] | Darzustellende Routenlinien. |
| routeDataSource | Object? | null | Separate Datenquelle für Routenlinien. |
| onCenterChanged | ValueChanged<TxCoordinate>? | null | Meldet center; kontrollierten Zustand im Callback aktualisieren. |
| onZoomChanged | ValueChanged<int>? | null | Meldet zoom; kontrollierten Zustand im Callback aktualisieren. |
| onMarkerClick | ValueChanged<TxMapMarker>? | null | Aktivierter TxMapMarker. |
| height | double | 360 | Höhe; Vue-Zahlen in Pixeln, Flutter in logischen Pixeln. |
| disabled | bool | false | Sperrt die Interaktion. |
import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';
import 'package:tecexpress/tecexpress.dart';
Widget example() {
return TxMap(tileUrl: kIsWeb ? Uri.base.resolve('/tiles/demo.png?z={z}&x={x}&y={y}').toString().replaceAll('%7B', '{').replaceAll('%7D', '}') : null, attribution: 'tecexpress · Synthetic demo tiles', markers: [TxMapMarker(52.52, 13.405, id: 'berlin', text: 'Berlin')]);
}