删除冗余注释

This commit is contained in:
mmc
2026-03-10 16:20:43 +08:00
parent db65fbab6f
commit 80a7e0b36f

View File

@@ -153,16 +153,6 @@ class _MapPageEnterpriseState extends State<MapPageEnterprise> {
_currentStation = _stationList.first;
_traceManager = TracePoint<PlotPoint>();
_initLocationEnterprise();
//_traceManager.onCurrentPointUpdated = (point) {
// setState(() {
// _currentTracePoints = _traceManager.getTracePoint();
// });
//};
//_traceManager.onCompletePointAdded = (point) {
// setState(() {
// _currentTracePoints = _traceManager.getTracePoint();
// });
//};
// 示例:切换到导航模式
_traceManager.setMode(TPMode.LOCATION);
@@ -202,17 +192,6 @@ class _MapPageEnterpriseState extends State<MapPageEnterprise> {
final bounds = calculateBounds(points);
if (bounds == null) return;
final currentZoom = _mapController.camera?.zoom ?? 18.0;
// 移动地图到边界中心(自动适配缩放级别)
//_mapController.fitBounds(
// bounds,
// options: FitBoundsOptions(
// padding: const EdgeInsets.all(50), // 边缘留白(避免内容贴边)
// //maxZoom: 18, // 最大缩放级别(防止过度放大)
// ),
//);
_mapController.move(
bounds.center, // 边界中心点
currentZoom, // 保留当前缩放比例
@@ -247,43 +226,6 @@ class _MapPageEnterpriseState extends State<MapPageEnterprise> {
return lat != 0 && lng != 0 && lat >= -90 && lat <= 90 && lng >= -180 && lng <= 180;
}
//void _updateMarkers() {
// if (_currentLatLng == null) {
// _markers = {};
// return;
// }
// // 构建flutter_map的Marker
// _markers = {
// Marker(
// // 标记点坐标
// point: _currentLatLng!,
// // 标记点宽高
// width: 40,
// height: 40,
// // 标记点样式(替换为你的自定义样式,先试用默认容器验证)
// child: Container(
// decoration: BoxDecoration(
// color: Colors.red,
// borderRadius: BorderRadius.circular(20),
// border: Border.all(color: Colors.white, width: 2),
// ),
// child: const Center(child: Text('🚗', style: TextStyle(fontSize: 20))),
// // 如果你有自定义Painter,替换为:
// // child: CustomPaint(
// // size: const Size(40, 40),
// // painter: HeadingMarkerPainter(headingAngle: _headingAngle),
// // ),
// ),
// ),
// };
// // 触发UI刷新(flutter_map会自动更新标记点)
// if (mounted) {
// setState(() {});
// }
//}
void _onDeviceData(double lng, double lat, bool obfFlag, int headingStatus, controlMode) {
try {
// 1. 校验坐标有效性
@@ -528,19 +470,6 @@ class _MapPageEnterpriseState extends State<MapPageEnterprise> {
return polygonPoints;
}
//void _undoLastPoint() {
// if (_markedPoints.isNotEmpty) {
// setState(() {
// _markedPoints.removeLast(); // 删除最后一个打点
// });
// debugPrint('撤回成功,剩余打点数量:${_markedPoints.length}');
// } else {
// debugPrint('无打点可撤回');
// // 可选:提示用户
// ScaffoldMessenger.of(context).showSnackBar(const SnackBar(content: Text('暂无打点可撤回')));
// }
//}
// ========== 统一撤回方法(适配完成后状态) ==========
void _undoAction() {
setState(() {
@@ -632,21 +561,6 @@ class _MapPageEnterpriseState extends State<MapPageEnterprise> {
});
}
// ========== 核心:清空所有打点和轨迹 ==========
//void _deleteAllPoints() {
// if (_markedPoints.isNotEmpty) {
// setState(() {
// _markedPoints.clear(); // 清空所有打点
// });
// debugPrint('删除成功,已清空所有打点和轨迹');
// // 可选:提示用户
// ScaffoldMessenger.of(context).showSnackBar(const SnackBar(content: Text('已清空所有打点和轨迹')));
// } else {
// debugPrint('无打点可删除');
// ScaffoldMessenger.of(context).showSnackBar(const SnackBar(content: Text('暂无打点可删除')));
// }
//}
void _handleGotoLocation() {
_mapController.move(_currentLatLng!, 18);
}
@@ -791,30 +705,6 @@ class _MapPageEnterpriseState extends State<MapPageEnterprise> {
ToastUtils.showSuccess(context, '已添加第${_obstacleHoles.length}个障碍物区域');
}
//void _undoObstaclePoint() {
// if (_currentObstaclePoints.isNotEmpty) {
// setState(() => _currentObstaclePoints.removeLast());
// debugPrint('撤回障碍物打点,剩余:${_currentObstaclePoints.length}个');
// } else if (_obstacleHoles.isNotEmpty) {
// // 无当前绘制点时,删除最后一组障碍物
// setState(() => _obstacleHoles.removeLast());
// debugPrint('删除最后一组障碍物,剩余组数:${_obstacleHoles.length}');
// } else {
// ScaffoldMessenger.of(context).showSnackBar(const SnackBar(content: Text('暂无障碍物打点可撤回')));
// }
//}
//// ========== 障碍物模式:清空所有障碍物 ==========
//void _clearAllObstacles() {
// setState(() {
// _obstacleHoles.clear();
// _currentObstaclePoints.clear();
// _isObstacleEditing = false;
// });
// debugPrint('已清空所有障碍物区域');
// ScaffoldMessenger.of(context).showSnackBar(const SnackBar(content: Text('已清空所有障碍物区域'), backgroundColor: Colors.amber));
//}
// ========== 核心方法:打点逻辑 ==========
void _addMarkedPoint() {
if (_currentAreaMode == AreaMode.work && _isWorkAreaCompleted) {
@@ -874,21 +764,6 @@ class _MapPageEnterpriseState extends State<MapPageEnterprise> {
});
}
// 模拟添加完成点
void _addCompletePoint() {
final newPoint = LatLng(39.9042 + (DateTime.now().millisecond / 10000), 116.4074 + (DateTime.now().millisecond / 10000));
_traceManager.upsert(newPoint, TPAction.ADD);
}
// 模拟更新当前点
void _updateCurrentPoint() {
final newPoint = LatLng(39.9042 + (DateTime.now().millisecond / 10000), 116.4074 + (DateTime.now().millisecond / 10000));
_traceManager.upsert(newPoint);
}
// 构建视频弹窗
// 构建视频小弹窗(可拖拽)
// 构建视频小弹窗(可拖拽)
Widget _buildVideoPopup() {
return Positioned(
left: _videoPopupPos.dx,
@@ -933,97 +808,6 @@ class _MapPageEnterpriseState extends State<MapPageEnterprise> {
final cubitState = context.read<DevicesCubit>().state;
final _loadedPlot = cubitState.pathData;
print('加载地块「${plot.plotName}」的路径数据: $_loadedPlot');
// 2. 立即解析并更新状态(在事件回调中,不在 build 中)
//if (_loadedPlot is List) {
// final List<dynamic> rawList = _loadedPlot as List<dynamic>;
// final pathRecords = rawList.where((item) => item is Map<String, dynamic>).cast<Map<String, dynamic>>().toList();
// // 打印:过滤后的 pathRecords 长度和第一条数据的顶层字段
// print('🔍 过滤后 pathRecords 长度: ${pathRecords.length}');
// if (pathRecords.isNotEmpty) {
// final Map<String, dynamic> firstRecord = pathRecords.first;
// print('📋 第一条记录的顶层字段:');
// print(' - id: ${firstRecord['id']}');
// print(' - workName: ${firstRecord['workName']}');
// print(' - userId: ${firstRecord['userId']}');
// print(' - jsonData (原始字符串长度): ${firstRecord['jsonData']?.toString().length ?? 0} 字符');
// print('------------------------------------');
// final selectedPlotPath = PlotDataPath(jsonData: firstRecord);
// try {
// final dynamic nestedJsonRaw = selectedPlotPath.jsonData['jsonData'];
// print('📦 嵌套 jsonData 原始类型: ${nestedJsonRaw.runtimeType}');
// print('📦 嵌套 jsonData 前200字符: ${nestedJsonRaw?.toString().substring(0, min(200, nestedJsonRaw?.toString().length ?? 0))}...');
// if (nestedJsonRaw != null && nestedJsonRaw is String) {
// final String nestedJsonStr = nestedJsonRaw;
// final dynamic parsedJson = jsonDecode(nestedJsonStr);
// print('✅ 嵌套 JSON 解析成功,类型: ${parsedJson.runtimeType}');
// // 格式化打印完整的嵌套 JSON(排除 img 字段,避免刷屏)
// if (parsedJson is Map<String, dynamic>) {
// final Map<String, dynamic> nestedJson = Map.from(parsedJson);
// // 截断 img 字段的 Base64 数据
// if (nestedJson.containsKey('img')) {
// final String imgBase64 = nestedJson['img'] as String;
// nestedJson['img'] = imgBase64.substring(0, min(50, imgBase64.length)) + '...(Base64 已截断)';
// }
// print('📝 格式化嵌套 JSON 数据:');
// print(const JsonEncoder.withIndent(' ').convert(nestedJson));
// print('------------------------------------');
// // 解析作业模式并打印
// final dynamic planModel = nestedJson['planModel'];
// workMode = planModel == WorkMode.bow.value ? "弓字模式" : "自定义模式";
// print('⚙️ 解析出作业模式: $workMode (原始 planModel 值: $planModel)');
// // 解析 Path 并打印明细
// final dynamic rawPath = nestedJson['path'];
// List<dynamic> pathList = rawPath is List ? rawPath : [];
// print('🗺️ 解析出 Path 数据:');
// print(' - Path 类型: ${rawPath.runtimeType}');
// print(' - Path 长度: ${pathList.length} 个点');
// // 逐点打印前 5 个 Path 坐标(避免点太多刷屏)
// for (int i = 0; i < min(5, pathList.length); i++) {
// final dynamic point = pathList[i];
// print(' - Path 点 $i: lat=${point['lat']}, lon=${point['lon']} (或 lng=${point['lng']})');
// }
// if (pathList.length > 5) {
// print(' - ... 还有 ${pathList.length - 5} 个点未显示');
// }
// // 解析 Outer 并打印明细
// final dynamic rawOuter = nestedJson['outer'];
// List<dynamic> outerList = rawOuter is List ? rawOuter : [];
// print('📏 解析出 Outer 外边界数据:');
// print(' - Outer 类型: ${rawOuter.runtimeType}');
// print(' - Outer 长度: ${outerList.length} 个点');
// // 逐点打印前 5 个 Outer 坐标
// for (int i = 0; i < min(5, outerList.length); i++) {
// final dynamic point = outerList[i];
// print(' - Outer 点 $i: lat=${point['lat']}, lon=${point['lon']} (或 lng=${point['lng']})');
// }
// if (outerList.length > 5) {
// print(' - ... 还有 ${outerList.length - 5} 个点未显示');
// }
// // 后续坐标转换逻辑(保持你的原有代码)
// // ...(这里放你原来的坐标转换、setState 逻辑)
// } else {
// print('❌ 解析失败:嵌套 JSON 不是 Map 类型,实际类型: ${parsedJson.runtimeType}');
// }
// } else {
// print('❌ 解析失败:nestedJsonRaw 为空或不是字符串,实际值: $nestedJsonRaw,类型: ${nestedJsonRaw?.runtimeType}');
// }
// } catch (e, stackTrace) {
// print('❌ 解析嵌套 JSON 时发生异常: $e');
// print('📜 异常堆栈: $stackTrace');
// }
// } else {
// print('❌ 过滤后 pathRecords 为空,无有效数据');
// }
//}
if (_loadedPlot is List) {
final List<dynamic> rawList = _loadedPlot as List<dynamic>;
final pathRecords = rawList.where((item) => item is Map<String, dynamic>).cast<Map<String, dynamic>>().toList();
@@ -2223,23 +2007,10 @@ class _MapPageEnterpriseState extends State<MapPageEnterprise> {
});
},
onUndoTap: () {
// 区分模式:作业区域撤回/障碍物撤回
//if (_currentAreaMode == AreaMode.work) {
// _undoLastPoint();
//} else {
// _undoObstaclePoint();
//}
_undoAction();
},
onDeleteTap: () {
_deleteAllAction();
// 区分模式:作业区域清空/障碍物清空
//if (_currentAreaMode == AreaMode.work) {
// _deleteAllPoints();
//} else {
// _clearAllObstacles();
//}
},
onRobotModeChanged: (mode) {
setState(() => _currentRobotMode = mode);