Ver código fonte

修改手动定位

iOS_cz 4 anos atrás
pai
commit
84bb3e07c1

+ 17 - 1
lib/internal/bbs/page/map_choicePoint.dart

@@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
 import 'package:flutter/services.dart';
 import 'package:liftmanager/routers/fluro_navigator.dart';
 import 'package:liftmanager/utils/fast_notification.dart';
+import 'package:liftmanager/utils/location_helper.dart';
 import 'package:liftmanager/utils/toast.dart';
 import 'package:liftmanager/widgets/app_bar.dart';
 import 'package:permission_handler/permission_handler.dart';
@@ -60,6 +61,21 @@ class _MapChoicePointState extends State<MyHomePage>
     }
   }
 
+  setlatlng() {
+    var helper = LocationHelper();
+
+    helper
+        .getLocation((String lat, String lng, String cityName, {provinceName}) {
+      if (lat != null && lng != null) {
+        helper.stopGettingLocation();
+      }
+      var latLng = LatLng(double.parse(lat), double.parse(lng));
+      _amapController?.setCenterCoordinate(latLng);
+      // setState(() {});
+      // NavigatorUtils.goBackWithParams(context, "$lng,$lat");
+    });
+  }
+
   /**
    * 根据搜索条件选出想要的点
    */
@@ -319,7 +335,7 @@ class _MapChoicePointState extends State<MyHomePage>
 //                  city = await location.city;
 //                  print(location);
 //                  print(city);
-
+                  setlatlng();
                   print(1111111);
                   //显示自己的定位
                   await controller.showMyLocation(MyLocationOption());

+ 42 - 25
lib/internal/maintenance/page/maintenance_safe_page.dart

@@ -13,6 +13,7 @@ import 'package:liftmanager/internal/maintenance/model/maintenance_list_entity.d
 import 'package:liftmanager/net/api_service.dart';
 import 'package:liftmanager/res/resources.dart';
 import 'package:liftmanager/routers/fluro_navigator.dart';
+import 'package:liftmanager/utils/location_helper.dart';
 import 'package:liftmanager/utils/theme_utils.dart';
 import 'package:liftmanager/utils/toast.dart';
 import 'package:liftmanager/widgets/app_bar.dart';
@@ -44,31 +45,47 @@ class MaintenanceSafePageState extends State<MaintenanceSafePage> {
   @override
   void initState() {
     super.initState();
-    _locationListener = _locationPlugin
-        .onLocationChanged()
-        .listen((Map<String, Object> result) {
-      setState(() {
-        _locationPlugin.stopLocation();
-        _locationResult = result;
-//        address latitude longitude
-        _locationResult.forEach((key, value) {
-          if (key == 'address') {
-            currentAddress = '$value';
-            setState(() {});
-          } else if (key == 'latitude') {
-            latLng.latitude = double.parse('$value');
-            setState(() {});
-          } else if (key == 'longitude') {
-            latLng.longitude = double.parse('$value');
-            setState(() {});
-          }
-          print('key:$key :');
-          print('value:$value :');
-        });
-      });
-    });
-    WidgetsBinding.instance.addPostFrameCallback((_) async {
-      getLocation();
+//     _locationListener = _locationPlugin
+//         .onLocationChanged()
+//         .listen((Map<String, Object> result) {
+//       setState(() {
+//         _locationPlugin.stopLocation();
+//         _locationResult = result;
+// //        address latitude longitude
+//         _locationResult.forEach((key, value) {
+//           if (key == 'address') {
+//             currentAddress = '$value';
+//             setState(() {});
+//           } else if (key == 'latitude') {
+//             latLng.latitude = double.parse('$value');
+//             setState(() {});
+//           } else if (key == 'longitude') {
+//             latLng.longitude = double.parse('$value');
+//             setState(() {});
+//           }
+//           print('key:$key :');
+//           print('value:$value :');
+//         });
+//       });
+//     });
+//     WidgetsBinding.instance.addPostFrameCallback((_) async {
+//       getLocation();
+//     });
+    setlatlng();
+  }
+
+  setlatlng() {
+    var helper = LocationHelper();
+
+    helper
+        .getLocation((String lat, String lng, String cityName, {provinceName}) {
+      if (lat != null && lng != null) {
+        helper.stopGettingLocation();
+      }
+      latLng = LatLng(double.parse(lat), double.parse(lng));
+
+      // setState(() {});
+      // NavigatorUtils.goBackWithParams(context, "$lng,$lat");
     });
   }