Térképi rétegkezelő lérehozása, track online mentésének előkészítése
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
// import 'package:flutter/material.dart';
|
||||
// import 'package:terepi_seged/map_layers/map_layer.dart';
|
||||
|
||||
// import 'map_geojson_layer.dart';
|
||||
|
||||
// class DxfLayer extends MapLayer {
|
||||
// // DXF parsing — nincs Flutter csomag, szerver oldali konverzió kell
|
||||
// // Supabase Edge Function: DXF → GeoJSON (ogr2ogr alapú)
|
||||
// @override
|
||||
// Widget buildFlutterMapLayer() => GeoJsonLayer.fromFeatures(_features);
|
||||
// }
|
||||
@@ -0,0 +1,17 @@
|
||||
// import 'package:flutter/material.dart';
|
||||
// import 'package:flutter_map/flutter_map.dart';
|
||||
|
||||
// import 'map_layer.dart';
|
||||
|
||||
// class GeoJsonLayer extends MapLayer {
|
||||
// final String sourceUrl; // Supabase Storage URL
|
||||
// final String? localPath; // offline cache
|
||||
// FeatureCollection? _data;
|
||||
|
||||
// @override
|
||||
// Widget buildFlutterMapLayer() {
|
||||
// if (_data == null) return const SizedBox.shrink();
|
||||
// return PolygonLayer(polygons: _buildPolygons());
|
||||
// // vagy PolylineLayer / MarkerLayer a geometry type-tól függően
|
||||
// }
|
||||
// }
|
||||
@@ -0,0 +1,20 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:terepi_seged/enums/map_layer_type.dart';
|
||||
import 'package:terepi_seged/enums/map_layer_visibility.dart';
|
||||
|
||||
abstract class MapLayer {
|
||||
late final String id;
|
||||
late final String name;
|
||||
late final LayerType type;
|
||||
late LayerVisibility visibility;
|
||||
late double opacity;
|
||||
late int zIndex;
|
||||
//LayerStyle style;
|
||||
|
||||
// Minden réteg tudja magát flutter_map widget-té alakítani
|
||||
Widget buildFlutterMapLayer();
|
||||
|
||||
// Offline cache-elhetőség
|
||||
Future<void> prefetch();
|
||||
bool get isCached;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
// import 'package:flutter/material.dart';
|
||||
// import 'package:flutter_map/flutter_map.dart';
|
||||
// import 'package:supabase_flutter/supabase_flutter.dart';
|
||||
|
||||
// import 'map_layer.dart';
|
||||
|
||||
// class PostGisLayer extends MapLayer {
|
||||
// final String table; // Supabase tábla neve
|
||||
// final String geomColumn; // geometry oszlop
|
||||
// final String? filter; // pl. "project_id=eq.123"
|
||||
// final BoundingBox? bbox; // csak látható terület lekérése
|
||||
|
||||
// @override
|
||||
// Widget buildFlutterMapLayer() {
|
||||
// // flutter_map_tile_caching + PostGIS tile endpoint
|
||||
// return TileLayer(urlTemplate: _buildMvtUrl());
|
||||
// }
|
||||
|
||||
// // MapBox Vector Tiles (MVT) Supabase Edge Function-ből
|
||||
// String _buildMvtUrl() =>
|
||||
// '${Supabase.instance.client.supabaseUrl}/functions/v1/tiles'
|
||||
// '/$table/{z}/{x}/{y}?geom=$geomColumn${filter != null ? "&filter=$filter" : ""}';
|
||||
// }
|
||||
@@ -0,0 +1,11 @@
|
||||
// import 'package:flutter/material.dart';
|
||||
|
||||
// import 'map_geojson_layer.dart';
|
||||
// import 'map_layer.dart';
|
||||
|
||||
// class ShapefileLayer extends MapLayer {
|
||||
// // SHP → GeoJSON konverzió device-on
|
||||
// // shapefile_dart csomag
|
||||
// @override
|
||||
// Widget buildFlutterMapLayer() => GeoJsonLayer.fromFeatures(_features);
|
||||
// }
|
||||
Reference in New Issue
Block a user