Kml parser utf-8 támogatás, induláskor minimum app verzió ellenőrzése
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
// SQLite → imported_layers tábla (metadata)
|
||||
// Supabase → Storage (megosztás, később)
|
||||
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
import 'dart:typed_data';
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
@@ -13,6 +14,7 @@ import 'package:get/get.dart';
|
||||
import 'package:path/path.dart' as p;
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:terepi_seged/enums/layer_import_source_type.dart';
|
||||
import 'package:terepi_seged/services/layer_sync_service.dart';
|
||||
import 'package:uuid/uuid.dart';
|
||||
|
||||
import '../models/imported_layer.dart';
|
||||
@@ -201,6 +203,23 @@ class LayerImportService extends GetxService {
|
||||
}
|
||||
}
|
||||
|
||||
/// Réteg megosztása a projekt csapatával (feltöltés a Storage-ba +
|
||||
/// metaadat a terepi_seged_layers táblába).
|
||||
Future<void> publishLayer(String id) async {
|
||||
if (!Get.isRegistered<LayerSyncService>()) return;
|
||||
final projectUuid = ProjectService.to.activeProject.value?.uuid;
|
||||
if (projectUuid == null) {
|
||||
throw Exception('Nincs aktív (megosztott) projekt.');
|
||||
}
|
||||
|
||||
final metas = await AppDatabase.instance.listImportedLayers();
|
||||
final meta = metas.firstWhereOrNull((m) => m.id == id);
|
||||
if (meta == null) throw Exception('A réteg nem található.');
|
||||
|
||||
await LayerSyncService.to
|
||||
.publishLayer(layer: meta, projectUuid: projectUuid);
|
||||
}
|
||||
|
||||
Future<void> removeLayer(String id) async {
|
||||
final metas = await AppDatabase.instance.listImportedLayers();
|
||||
final meta = metas.firstWhereOrNull((m) => m.id == id);
|
||||
@@ -259,7 +278,9 @@ class LayerImportService extends GetxService {
|
||||
return _parseGeoJson(String.fromCharCodes(bytes), name, id,
|
||||
isVisible: isVisible);
|
||||
case 'kml':
|
||||
return _kmlParser.parseKml(String.fromCharCodes(bytes), name,
|
||||
// return _kmlParser.parseKml(String.fromCharCodes(bytes), name,
|
||||
// id: id, isVisible: isVisible);
|
||||
return _kmlParser.parseKml(KmlParser.decodeText(bytes), name,
|
||||
id: id, isVisible: isVisible);
|
||||
case 'kmz':
|
||||
return _kmlParser.parseKmz(bytes, name, id: id, isVisible: isVisible);
|
||||
|
||||
Reference in New Issue
Block a user