This commit is contained in:
Hamza-Ayed
2023-08-13 02:19:18 +03:00
parent f84c82bcc8
commit 8b46545fbc
23 changed files with 715 additions and 176 deletions

View File

@@ -8,7 +8,15 @@ class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MyScafolld(
title: 'Home Page',
body: Center(child: CircleContainer(child: const Icon(Icons.clear))));
isleading: true,
title: 'Home Page',
body: [
Center(
child: CircleContainer(
child: const Icon(Icons.clear),
),
),
],
);
}
}

View File

@@ -4,7 +4,6 @@ import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:ride/constant/colors.dart';
import 'package:ride/controller/home/map_page_controller.dart';
import '../../constant/style.dart';
import '../../controller/home/menu_controller.dart';
import 'map_widget.dart/buttom_sheet_map_show.dart';
import 'map_widget.dart/map_menu_widget.dart';
@@ -22,88 +21,99 @@ class MapPage extends StatelessWidget {
body: Stack(
children: [
GetBuilder<MapController>(
builder: (controller) => GoogleMap(
onMapCreated: controller.onMapCreated,
cameraTargetBounds: CameraTargetBounds(controller.boundsdata),
minMaxZoomPreference: const MinMaxZoomPreference(6, 18),
onLongPress: (argument) {
Get.defaultDialog(
title: 'Are you want to go to this site',
content: Column(
children: [
Text('${argument.latitude},${argument.longitude}'),
],
builder: (controller) => controller.isloading
? const Center(
child: CircularProgressIndicator.adaptive(),
)
: GoogleMap(
onMapCreated: controller.onMapCreated,
cameraTargetBounds:
CameraTargetBounds(controller.boundsdata),
minMaxZoomPreference: const MinMaxZoomPreference(6, 18),
onLongPress: (argument) {
Get.defaultDialog(
title: 'Are you want to go to this site',
content: Column(
children: [
Text('${argument.latitude},${argument.longitude}'),
],
),
onConfirm: () async {
controller.clearpolyline();
await controller.getMap(
'${controller.mylocation.latitude},${controller.mylocation.longitude}',
'${argument.latitude.toString()},${argument.longitude.toString()}');
Get.back();
controller.changeButtomSheetShown();
controller.bottomSheet();
},
);
},
onTap: (argument) {
controller.hidePlaces();
controller.changeButtomSheetShown();
controller.bottomSheet();
},
initialCameraPosition: CameraPosition(
target: controller.mylocation,
zoom: 15,
),
markers: {
for (var carLocation
in controller.carsLocationByPassenger)
Marker(
position: carLocation,
icon: controller.carIcon,
markerId: MarkerId(carLocation.toString())),
Marker(
markerId: const MarkerId('MyLocation'),
position: controller.mylocation,
draggable: true,
icon: controller.markerIcon,
onDragEnd: (value) {
print(value);
},
infoWindow: const InfoWindow(title: 'my location'),
),
Marker(
markerId: const MarkerId('destination'),
position: controller.mydestination,
draggable: true,
onDragEnd: (v) {
print(v);
},
),
},
polylines: {
Polyline(
zIndex: 2,
consumeTapEvents: true,
geodesic: true,
endCap: Cap.buttCap,
startCap: Cap.buttCap,
visible: true,
polylineId: const PolylineId('route'),
points: controller.polylineCoordinates,
color: AppColor.primaryColor,
width: 5,
),
},
mapType: MapType.normal,
myLocationButtonEnabled: true,
indoorViewEnabled: true,
trafficEnabled: true,
buildingsEnabled: true,
mapToolbarEnabled: true,
onCameraMove: (position) {
controller.newMylocation = position.target;
// print('my' + controller.mylocation.toString());
// print('new' + controller.newMylocation.toString());
},
myLocationEnabled: true,
// liteModeEnabled: true,
),
onConfirm: () async {
controller.clearpolyline();
await controller.getMap(
'${controller.mylocation.latitude},${controller.mylocation.longitude}',
'${argument.latitude.toString()},${argument.longitude.toString()}');
Get.back();
controller.changeButtomSheetShown();
controller.bottomSheet();
},
);
},
onTap: (argument) {
controller.hidePlaces();
controller.changeButtomSheetShown();
controller.bottomSheet();
},
initialCameraPosition: CameraPosition(
target: controller.mylocation,
zoom: 15,
),
markers: {
Marker(
markerId: const MarkerId('MyLocation'),
position: controller.mylocation,
draggable: true,
icon: controller.markerIcon,
onDragEnd: (value) {
print(value);
},
infoWindow: const InfoWindow(title: 'my location'),
),
Marker(
markerId: const MarkerId('destination'),
position: controller.mydestination,
draggable: true,
onDragEnd: (v) {
print(v);
},
),
},
polylines: {
Polyline(
zIndex: 2,
consumeTapEvents: true,
geodesic: true,
endCap: Cap.buttCap,
startCap: Cap.buttCap,
visible: true,
polylineId: const PolylineId('route'),
points: controller.polylineCoordinates,
color: AppColor.primaryColor,
width: 5,
),
},
mapType: MapType.normal,
myLocationButtonEnabled: true,
indoorViewEnabled: true,
trafficEnabled: true,
buildingsEnabled: true,
mapToolbarEnabled: true,
onCameraMove: (position) {
controller.newMylocation = position.target;
// print('my' + controller.mylocation.toString());
// print('new' + controller.newMylocation.toString());
},
myLocationEnabled: true,
// liteModeEnabled: true,
),
),
const PickerIconOnMap(),
PickerAnimtionContainer(),

View File

@@ -26,7 +26,8 @@ GetBuilder<MapController> buttomSheetMapPage() {
controller.data.isEmpty
? const SizedBox()
: Container(
// height: 100,
// width: Get.width * .9,
height: 100,
decoration: BoxDecoration(
color: AppColor.secondaryColor,
boxShadow: [
@@ -47,7 +48,7 @@ GetBuilder<MapController> buttomSheetMapPage() {
padding: const EdgeInsets.all(8.0),
child: Image.asset(
'assets/images/jeep.png',
width: 88,
width: 50,
fit: BoxFit.fill,
repeat: ImageRepeat.repeatX,
),
@@ -58,7 +59,9 @@ GetBuilder<MapController> buttomSheetMapPage() {
Text(
'${'Your Ride Duration is '.tr}${controller.duration} minutes'),
Text(
'You will be thier in ${DateFormat('h:mm a').format(controller.newTime)}')
'You will be thier in ${DateFormat('h:mm a').format(controller.newTime)}'),
Text(
'You trip distance is ${controller.distance} KM')
],
),
Text(

View File

@@ -1,6 +1,5 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:sqflite/sqflite.dart';
import '../../../constant/colors.dart';
import '../../../controller/home/map_page_controller.dart';

View File

@@ -7,6 +7,13 @@ class PassengerProfilePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return const MyScafolld(
title: 'My Profile', body: Center(child: Text('ddd')));
isleading: true,
title: 'My Profile',
body: [
Center(
child: Text('ddd'),
),
],
);
}
}