张延森 3 anos atrás
pai
commit
7fcce533f7

BIN
.gradle/6.8/fileChanges/last-build.bin Ver arquivo


BIN
.gradle/6.8/fileHashes/fileHashes.lock Ver arquivo


+ 0
- 0
.gradle/6.8/gc.properties Ver arquivo


BIN
.gradle/buildOutputCleanup/buildOutputCleanup.lock Ver arquivo


+ 2
- 0
.gradle/buildOutputCleanup/cache.properties Ver arquivo

@@ -0,0 +1,2 @@
1
+#Wed Apr 20 15:13:32 CST 2022
2
+gradle.version=6.8

BIN
.gradle/checksums/checksums.lock Ver arquivo


+ 0
- 0
.gradle/configuration-cache/gc.properties Ver arquivo


+ 0
- 0
.gradle/vcs-1/gc.properties Ver arquivo


+ 20
- 0
android/app/build.gradle Ver arquivo

@@ -41,6 +41,26 @@ android {
41 41
         versionCode flutterVersionCode.toInteger()
42 42
         versionName flutterVersionName
43 43
     }
44
+    signingConfigs {
45
+        debug {
46
+            //keystore中key的别名
47
+            keyAlias 'mykey'
48
+            //keystore中key的密码
49
+            keyPassword 'SJPrpy7yF8XdkXHY'
50
+            //keystore的文件路径,可以是绝对路径也可以是相对路径
51
+            storeFile file('../machinery.keystore')
52
+            //keystore的密码l
53
+            storePassword 'Op4CCmT20L0c0fLP'
54
+        }
55
+    }
56
+
57
+    dependencies {
58
+//        implementation fileTree(dir: 'libs', include: ['*.jar'])
59
+//        implementation('com.amap.api:map2d:6.0.0')
60
+//        implementation('com.amap.api:search:9.2.0')
61
+//        implementation('com.amap.api:location:6.1.0')
62
+        implementation('com.amap.api:3dmap:9.1.0')
63
+    }
44 64
 
45 65
     buildTypes {
46 66
         release {

+ 18
- 0
android/app/proguard-rules.pro Ver arquivo

@@ -0,0 +1,18 @@
1
+#Flutter Wrapper
2
+#-keep class io.flutter.app.** { *; }
3
+#-keep class io.flutter.plugin.**  { *; }
4
+#-keep class io.flutter.util.**  { *; }
5
+#-keep class io.flutter.view.**  { *; }
6
+#-keep class io.flutter.**  { *; }
7
+#-keep class io.flutter.plugins.**  { *; }
8
+
9
+#高德地图SDK配置
10
+-keep   class com.amap.api.maps.**{*;}
11
+-keep   class com.autonavi.**{*;}
12
+-keep   class com.amap.api.trace.**{*;}
13
+
14
+#高德等位SDK配置
15
+-keep class com.amap.api.location.**{*;}
16
+-keep class com.amap.api.fence.**{*;}
17
+-keep class com.loc.**{*;}
18
+-keep class com.autonavi.aps.amapapi.model.**{*;}

+ 29
- 0
android/app/src/main/AndroidManifest.xml Ver arquivo

@@ -1,5 +1,29 @@
1 1
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
+    xmlns:tools="http://schemas.android.com/tools"
2 3
     package="com.example.farmer_client">
4
+    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
5
+    <!--允许获取精确位置,精准定位必选-->
6
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
7
+    <!--允许获取粗略位置,粗略定位必选-->
8
+    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
9
+    <!--允许获取设备和运营商信息,用于问题排查和网络定位(无gps情况下的定位),若需网络定位功能则必选-->
10
+    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
11
+    <!--允许获取网络状态,用于网络定位(无gps情况下的定位),若需网络定位功能则必选-->
12
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
13
+    <!--允许获取wifi网络信息,用于网络定位(无gps情况下的定位),若需网络定位功能则必选-->
14
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
15
+    <!--允许获取wifi状态改变,用于网络定位(无gps情况下的定位),若需网络定位功能则必选-->
16
+    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
17
+    <!--后台获取位置信息,若需后台定位则必选-->
18
+    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
19
+    <!--用于申请调用A-GPS模块,卫星定位加速-->
20
+    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
21
+    <!--允许写设备缓存,用于问题排查-->
22
+    <uses-permission android:name="android.permission.WRITE_SETTINGS" tools:ignore="ProtectedPermissions" />
23
+    <!--允许写入扩展存储,用于写入缓存定位数据-->
24
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
25
+    <!--允许读设备等信息,用于问题排查-->
26
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
3 27
    <application
4 28
         android:label="farmer_client"
5 29
         android:name="${applicationName}"
@@ -30,5 +54,10 @@
30 54
         <meta-data
31 55
             android:name="flutterEmbedding"
32 56
             android:value="2" />
57
+       <meta-data
58
+           android:name="com.amap.api.v2.apikey"
59
+           android:value="b481b4187e24e625fa0056fd0530e663"/>
60
+       <service android:name="com.amap.api.location.APSService"
61
+           tools:ignore="MissingClass" />
33 62
     </application>
34 63
 </manifest>

+ 0
- 2
android/app/src/profile/AndroidManifest.xml Ver arquivo

@@ -4,6 +4,4 @@
4 4
          to allow setting breakpoints, to provide hot reload, etc.
5 5
     -->
6 6
     <uses-permission android:name="android.permission.INTERNET"/>
7
-    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
8
-    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
9 7
 </manifest>

+ 2
- 0
android/build.gradle Ver arquivo

@@ -1,6 +1,7 @@
1 1
 buildscript {
2 2
     ext.kotlin_version = '1.6.10'
3 3
     repositories {
4
+//        jcenter()
4 5
         google()
5 6
         mavenCentral()
6 7
     }
@@ -13,6 +14,7 @@ buildscript {
13 14
 
14 15
 allprojects {
15 16
     repositories {
17
+//        jcenter()
16 18
         google()
17 19
         mavenCentral()
18 20
     }

+ 6
- 6
lib/models/app.dart Ver arquivo

@@ -45,12 +45,12 @@ class AppController extends GetxController {
45 45
       // );
46 46
     });
47 47
 
48
-    // 尝试获取一次人员信息
49
-    getCurrent().then((person) {
50
-      user(person);
51
-    }).catchError((e) {
52
-      print(e);
53
-    });
48
+    // // 尝试获取一次人员信息
49
+    // getCurrent().then((person) {
50
+    //   user(person);
51
+    // }).catchError((e) {
52
+    //   print(e);
53
+    // });
54 54
   }
55 55
 
56 56
 }

+ 2
- 0
lib/pages/index.dart Ver arquivo

@@ -2,3 +2,5 @@
2 2
 export 'home/index.dart';
3 3
 export 'splash/splash.dart';
4 4
 export 'login/login.dart';
5
+export 'machinery/map.dart';
6
+export 'main/index.dart';

+ 22
- 0
lib/pages/machinery/map.dart Ver arquivo

@@ -0,0 +1,22 @@
1
+
2
+import 'package:farmer_client/widgets/amap/amap.dart';
3
+import 'package:flutter/material.dart';
4
+import 'package:flutter/widgets.dart';
5
+
6
+class MachineryMapPage extends StatelessWidget {
7
+
8
+  Widget page(BuildContext context) {
9
+    return Column(children: [
10
+      Expanded( flex: 1, child: AMap(),),
11
+      Expanded( flex: 1, child: Container(),),
12
+      Expanded( flex: 1, child: Container(),),
13
+    ],);
14
+  }
15
+
16
+  @override
17
+  Widget build(BuildContext context) {
18
+    return Scaffold(appBar: AppBar(title: const Text("查看地图"), centerTitle: true,), body: page(context),);
19
+  }
20
+  
21
+}
22
+

+ 2
- 5
lib/routes/pages.dart Ver arquivo

@@ -1,12 +1,9 @@
1 1
 
2 2
 import 'package:get/get.dart';
3 3
 import '../pages/index.dart';//Home
4
-import '../pages/main/index.dart';
5
-import '../pages/order/index.dart';
6
-import '../widgets/OrderInfoCard.dart';
7 4
 
8 5
 List<GetPage> pages = [
9
-  GetPage(name: '/', page: () =>  MainPage()),
10
-  // GetPage(name: '/splash', page: () => SplashScreen()),
6
+  // GetPage(name: '/', page: () =>  MachineryMapPage()),
7
+  GetPage(name: '/splash', page: () => MachineryMapPage()),
11 8
   // GetPage(name: '/login', page: () =>  MyRouteLogin()),
12 9
 ];

+ 42
- 0
lib/widgets/amap/amap.dart Ver arquivo

@@ -0,0 +1,42 @@
1
+import 'package:amap_flutter_map/amap_flutter_map.dart';
2
+import 'package:amap_flutter_base/amap_flutter_base.dart';
3
+import 'package:flutter/widgets.dart';
4
+
5
+import 'const_config.dart';
6
+
7
+// https://developer.amap.com/api/flutter/guide/map-flutter-plug-in/map-flutter-info
8
+class AMap extends StatelessWidget {
9
+  late AMapController _mapController;
10
+  final LatLng? position;
11
+  final Map<String, Marker> _markers = Map<String, Marker>();
12
+
13
+  AMap({Key? key,  this.position }): super(key: key);
14
+
15
+  void onMapCreated(AMapController controller) {
16
+    _mapController = controller;
17
+  }
18
+
19
+  void _initMarkers() {
20
+    if (null != position) {
21
+      Marker marker = Marker(
22
+        position: position!,
23
+        //使用默认hue的方式设置Marker的图标
24
+        icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueOrange),
25
+      );
26
+      _markers[marker.id] = marker;
27
+    }
28
+  }
29
+
30
+  @override
31
+  Widget build(BuildContext context) {
32
+    _initMarkers();
33
+
34
+    return AMapWidget(
35
+      privacyStatement: ConstConfig.amapPrivacyStatement,
36
+      apiKey: ConstConfig.amapApiKeys,
37
+      markers: Set<Marker>.of(_markers.values),
38
+      initialCameraPosition: const CameraPosition(target: LatLng(31.230378, 121.473658)),
39
+    );
40
+  }
41
+
42
+}

+ 22
- 0
lib/widgets/amap/const_config.dart Ver arquivo

@@ -0,0 +1,22 @@
1
+import 'package:amap_flutter_base/amap_flutter_base.dart';
2
+import 'package:amap_flutter_map/amap_flutter_map.dart';
3
+
4
+class ConstConfig {
5
+  ///配置您申请的apikey,在此处配置之后,可以在初始化[AMapWidget]时,通过`apiKey`属性设置
6
+  ///
7
+  ///注意:使用[AMapWidget]的`apiKey`属性设置的key的优先级高于通过Native配置key的优先级,
8
+  ///使用[AMapWidget]的`apiKey`属性配置后Native配置的key将失效,请根据实际情况选择使用
9
+  static const AMapApiKey amapApiKeys = AMapApiKey(
10
+      androidKey: 'b481b4187e24e625fa0056fd0530e663',
11
+      iosKey: '您申请的iOS平台的key');
12
+
13
+  ///高德隐私合规声明,这里只是示例,实际使用中请按照实际参数设置[AMapPrivacyStatement]的'hasContains''hasShow''hasAgree'这三个参数
14
+  ///
15
+  /// 注意:[AMapPrivacyStatement]的'hasContains''hasShow''hasAgree'这三个参数中有一个为false,高德SDK均不会工作,会造成地图白屏等现象
16
+  ///
17
+  /// 高德开发者合规指南请参考:https://lbs.amap.com/agreement/compliance
18
+  ///
19
+  /// 高德SDK合规使用方案请参考:https://lbs.amap.com/news/sdkhgsy
20
+  static const AMapPrivacyStatement amapPrivacyStatement =
21
+  AMapPrivacyStatement(hasContains: true, hasShow: true, hasAgree: true);
22
+}

+ 8
- 0
local.properties Ver arquivo

@@ -0,0 +1,8 @@
1
+## This file must *NOT* be checked into Version Control Systems,
2
+# as it contains information specific to your local configuration.
3
+#
4
+# Location of the SDK. This is only used by Gradle.
5
+# For customization when using a Version Control System, please read the
6
+# header note.
7
+#Wed Apr 20 15:13:21 CST 2022
8
+sdk.dir=D\:\\applications\\Android\\Sdk

+ 29
- 1
pubspec.lock Ver arquivo

@@ -8,6 +8,20 @@ packages:
8 8
       url: "https://pub.flutter-io.cn"
9 9
     source: hosted
10 10
     version: "39.0.0"
11
+  amap_flutter_base:
12
+    dependency: transitive
13
+    description:
14
+      name: amap_flutter_base
15
+      url: "https://pub.flutter-io.cn"
16
+    source: hosted
17
+    version: "3.0.0"
18
+  amap_flutter_map:
19
+    dependency: "direct main"
20
+    description:
21
+      name: amap_flutter_map
22
+      url: "https://pub.flutter-io.cn"
23
+    source: hosted
24
+    version: "3.0.0"
11 25
   analyzer:
12 26
     dependency: transitive
13 27
     description:
@@ -153,13 +167,20 @@ packages:
153 167
       url: "https://pub.flutter-io.cn"
154 168
     source: hosted
155 169
     version: "1.0.4"
170
+  flutter_plugin_android_lifecycle:
171
+    dependency: transitive
172
+    description:
173
+      name: flutter_plugin_android_lifecycle
174
+      url: "https://pub.flutter-io.cn"
175
+    source: hosted
176
+    version: "2.0.5"
156 177
   flutter_screenutil:
157 178
     dependency: "direct main"
158 179
     description:
159 180
       name: flutter_screenutil
160 181
       url: "https://pub.flutter-io.cn"
161 182
     source: hosted
162
-    version: "5.4.0"
183
+    version: "5.4.0+1"
163 184
   flutter_test:
164 185
     dependency: "direct dev"
165 186
     description: flutter
@@ -420,6 +441,13 @@ packages:
420 441
       url: "https://pub.flutter-io.cn"
421 442
     source: hosted
422 443
     version: "2.1.0"
444
+  stream_transform:
445
+    dependency: transitive
446
+    description:
447
+      name: stream_transform
448
+      url: "https://pub.flutter-io.cn"
449
+    source: hosted
450
+    version: "2.0.0"
423 451
   string_scanner:
424 452
     dependency: transitive
425 453
     description:

+ 1
- 0
pubspec.yaml Ver arquivo

@@ -41,6 +41,7 @@ dependencies:
41 41
   get_storage: ^2.0.3
42 42
   fluttertoast: ^8.0.9
43 43
   location: ^4.3.0
44
+  amap_flutter_map: ^3.0.0
44 45
 
45 46
 dev_dependencies:
46 47
   flutter_test: