liuyuqi-dellpc 1 year ago
parent
commit
977fd4ed73

+ 2 - 1
README.md

@@ -4,7 +4,8 @@ flutter google map app
 
 注意小米等国内线手机,需要安装google 服务框架。
 
-
+[x] 基础功能:地图浏览,定位,导航
+[] 区域作图
 
 ## develop
 

+ 1 - 1
android/app/build.gradle

@@ -24,7 +24,7 @@ if (flutterVersionName == null) {
 apply plugin: 'com.android.application'
 apply plugin: 'kotlin-android'
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
-apply plugin: 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
+// apply plugin: 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
 
 android {
     compileSdkVersion 33

+ 2 - 1
android/app/src/main/AndroidManifest.xml

@@ -11,6 +11,7 @@
         android:label="flutter_google_map"
         android:name="${applicationName}"
         android:icon="@mipmap/ic_launcher">
+
         <activity
             android:name=".MainActivity"
             android:exported="true"
@@ -40,7 +41,7 @@
 
         <meta-data
             android:name="com.google.android.geo.API_KEY"
-            android:value="${MAPS_API_KEY}" />
+            android:value="AIzaSyAYxtvrgNV5QmeIDJHbh8Ri1WfyfpXBQw8" />
     
     </application>
 </manifest>

+ 1 - 4
android/build.gradle

@@ -9,10 +9,7 @@ buildscript {
         classpath 'com.android.tools.build:gradle:7.2.2'
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
     }
-    plugins {
-        // ...
-        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false
-    }
+
 }
 
 allprojects {

+ 3 - 2
lib/main.dart

@@ -1,5 +1,6 @@
 import 'package:flutter/material.dart';
-import 'package:flutter_google_map/pages/home_page.dart';
+import 'package:flutter_google_map/pages/index_page.dart';
+import 'package:flutter_google_map/pages/tabs/home_page.dart';
 
 /// Description:  enter point
 /// Time       : 07/06/2023 Thursday
@@ -21,7 +22,7 @@ class MyApp extends StatelessWidget {
    
         primarySwatch: Colors.blue,
       ),
-      home: const HomePage(),
+      home: const IndexPage(),
     );
   }
 }

+ 57 - 0
lib/pages/index_page.dart

@@ -0,0 +1,57 @@
+import 'package:flutter/material.dart';
+
+class IndexPage extends StatefulWidget {
+  const IndexPage({super.key});
+
+  @override
+  State<IndexPage> createState() => _IndexPageState();
+}
+
+class _IndexPageState extends State<IndexPage> {
+  int index = 0;
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      appBar: AppBar(
+        title: const Text('Maps Sample App'),
+        backgroundColor: Colors.green[700],
+      ),
+      bottomNavigationBar: BottomNavigationBar(items: [
+        BottomNavigationBarItem(icon: Icon(Icons.home), label: '出行'),
+        BottomNavigationBarItem(icon: Icon(Icons.business), label: '周边惠'),
+        BottomNavigationBarItem(icon: Icon(Icons.school), label: '打车'),
+        BottomNavigationBarItem(icon: Icon(Icons.school), label: '我的'),
+      ]),
+      drawer: Drawer(
+        child: ListView(
+          padding: EdgeInsets.zero,
+          children: <Widget>[
+            const DrawerHeader(
+              decoration: BoxDecoration(
+                color: Colors.green,
+              ),
+              child: Text('Drawer Header'),
+            ),
+            ListTile(
+              title: const Text('Item 1'),
+              onTap: () {
+                Navigator.pop(context);
+              },
+            ),
+            ListTile(
+              title: const Text('Item 2'),
+              onTap: () {
+                Navigator.pop(context);
+              },
+            ),
+          ],
+        ),
+      ),
+      body: buildContent(index),
+    );
+  }
+
+  buildContent(int index) {
+    return Placeholder();
+  }
+}

+ 19 - 0
lib/pages/splash_page.dart

@@ -0,0 +1,19 @@
+import 'package:flutter/src/widgets/framework.dart';
+import 'package:flutter/src/widgets/placeholder.dart';
+
+/// Description: splash page
+/// Time       : 07/06/2023 Thursday
+/// Author     : liuyuqi.gov@msn.cn
+class SplashPage extends StatefulWidget {
+  const SplashPage({super.key});
+
+  @override
+  State<SplashPage> createState() => _SplashPageState();
+}
+
+class _SplashPageState extends State<SplashPage> {
+  @override
+  Widget build(BuildContext context) {
+    return const Placeholder();
+  }
+}

+ 19 - 0
lib/pages/tabs/business_page.dart

@@ -0,0 +1,19 @@
+import 'package:flutter/material.dart';
+import 'package:flutter/src/widgets/framework.dart';
+import 'package:flutter/src/widgets/placeholder.dart';
+
+class BusinessPage extends StatefulWidget {
+  const BusinessPage({super.key});
+
+  @override
+  State<BusinessPage> createState() => _BusinessPageState();
+}
+
+class _BusinessPageState extends State<BusinessPage> {
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      body: Text("周边惠"),
+    );
+  }
+}

+ 7 - 10
lib/pages/home_page.dart → lib/pages/tabs/home_page.dart

@@ -21,17 +21,14 @@ class _HomePageState extends State<HomePage> {
 
   @override
   Widget build(BuildContext context) {
+    /// tab: 出行,周边惠,打车,我的
     return Scaffold(
-        appBar: AppBar(
-          title: const Text('Maps Sample App'),
-          backgroundColor: Colors.green[700],
-        ),
         body: GoogleMap(
-          onMapCreated: _onMapCreated,
-          initialCameraPosition: CameraPosition(
-            target: _center,
-            zoom: 11.0,
-          ),
-        ));
+      onMapCreated: _onMapCreated,
+      initialCameraPosition: CameraPosition(
+        target: _center,
+        zoom: 11.0,
+      ),
+    ));
   }
 }

+ 19 - 0
lib/pages/tabs/mine_page.dart

@@ -0,0 +1,19 @@
+import 'package:flutter/material.dart';
+import 'package:flutter/src/widgets/framework.dart';
+import 'package:flutter/src/widgets/placeholder.dart';
+
+class MinePage extends StatefulWidget {
+  const MinePage({super.key});
+
+  @override
+  State<MinePage> createState() => _MinePageState();
+}
+
+class _MinePageState extends State<MinePage> {
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      body: Text("我的"),
+    );
+  }
+}

+ 19 - 0
lib/pages/tabs/taxi_page.dart

@@ -0,0 +1,19 @@
+import 'package:flutter/material.dart';
+import 'package:flutter/src/widgets/framework.dart';
+import 'package:flutter/src/widgets/placeholder.dart';
+
+class TaxiPage extends StatefulWidget {
+  const TaxiPage({super.key});
+
+  @override
+  State<TaxiPage> createState() => _TaxiPageState();
+}
+
+class _TaxiPageState extends State<TaxiPage> {
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      body: Text("打车"),
+    );
+  }
+}

+ 2 - 0
pubspec.yaml

@@ -10,8 +10,10 @@ dependencies:
     sdk: flutter
 
   google_maps_flutter: ^2.3.0
+  # google_maps_flutter_web: ^0.5.0
   cupertino_icons: ^1.0.5
   fluttertoast: ^8.2.2
+  # dio: 
 
 dev_dependencies:
   flutter_test: