圈地
This commit is contained in:
@@ -4,9 +4,12 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_map/flutter_map.dart';
|
||||
import 'package:geolocator/geolocator.dart';
|
||||
import 'package:latlong2/latlong.dart';
|
||||
import 'package:maibu_satabot_v2/features/home/presentation/widgets/common/enum.dart';
|
||||
import 'package:maibu_satabot_v2/features/home/presentation/widgets/startpoint_area.dart';
|
||||
|
||||
import '../path_list_pages.dart';
|
||||
|
||||
|
||||
class MapPageEnterprise extends StatefulWidget {
|
||||
const MapPageEnterprise({Key? key}) : super(key: key);
|
||||
|
||||
@@ -20,6 +23,9 @@ class _MapPageEnterpriseState extends State<MapPageEnterprise> {
|
||||
LatLng? _currentLatLng;
|
||||
StreamSubscription<Position>? _positionSub;
|
||||
bool _hasMovedOnce = false;
|
||||
bool _isPanelOpen = false; // 控制面板显示/隐藏
|
||||
RobotMode _currentRobotMode = RobotMode.point;
|
||||
AreaMode _currentAreaMode = AreaMode.work;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
@@ -141,9 +147,53 @@ class _MapPageEnterpriseState extends State<MapPageEnterprise> {
|
||||
top: maxTop > 10 ? 11 : maxTop, // 确保不超出屏幕范围
|
||||
child: FloatingActionButton(
|
||||
onPressed: _moveToCurrentLocation,
|
||||
child: new VerticalFloatMenu(),
|
||||
child: new VerticalFloatMenu(
|
||||
onEditTap: (bool isOpen) {
|
||||
// 关键:接收子组件的回调,修改外部的_isPanelOpen
|
||||
setState(() {
|
||||
_isPanelOpen = isOpen;
|
||||
});
|
||||
},),
|
||||
),
|
||||
),
|
||||
if (_isPanelOpen)
|
||||
Positioned(
|
||||
left: 0,
|
||||
right: 0,
|
||||
bottom: 0,
|
||||
child: BottomOperationPanel(
|
||||
// 传入初始值
|
||||
initialRobotMode:RobotMode.point ,
|
||||
initialAreaMode: _currentAreaMode,
|
||||
// 接收面板的事件回调
|
||||
onComplete: () {
|
||||
// 完成按钮点击:关闭面板
|
||||
setState(() => _isPanelOpen = false);
|
||||
},
|
||||
onRobotModeChanged: (mode) {
|
||||
// 接收机器人模式变更
|
||||
//setState(() => _currentRobotMode = mode);
|
||||
debugPrint('外部收到机器人模式:$mode');
|
||||
},
|
||||
onAreaModeChanged: (mode) {
|
||||
// 接收作业区域模式变更
|
||||
//setState(() => _currentAreaMode = mode);
|
||||
debugPrint('外部收到区域模式:$mode');
|
||||
},
|
||||
onAddTap: () {
|
||||
// 加号按钮自定义逻辑
|
||||
debugPrint('外部处理加号按钮点击');
|
||||
},
|
||||
onLandTap: () {
|
||||
// 地块标签自定义逻辑
|
||||
debugPrint('外部处理地块标签点击');
|
||||
},
|
||||
onRouteTap: () {
|
||||
// 航线标签自定义逻辑
|
||||
debugPrint('外部处理航线标签点击');
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
));
|
||||
|
||||
Reference in New Issue
Block a user