merge-requests/390/head
Mirza.Shafique 4 years ago
parent d1bc46f451
commit 2d38e8905b

@ -7,6 +7,7 @@ import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/cmc_v
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/Dialog/confirm_dialog.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
@ -78,6 +79,9 @@ class _NewCMCStepThreePageState extends State<NewCMCStepThreePage> {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(
height: 12,
),
Text(
TranslationBase.of(context).orderSummary,
style: TextStyle(
@ -120,13 +124,26 @@ class _NewCMCStepThreePageState extends State<NewCMCStepThreePage> {
clipBehavior: Clip.antiAlias,
elevation: 0,
margin: const EdgeInsets.all(0),
child: GoogleMap(
mapType: MapType.normal,
markers: markers,
initialCameraPosition: _kGooglePlex,
onMapCreated: (GoogleMapController controller) {
_controller.complete(controller);
},
// child: GoogleMap(
// mapType: MapType.normal,
// markers: markers,
// initialCameraPosition: _kGooglePlex,
// onMapCreated: (GoogleMapController controller) {
// _controller.complete(controller);
// },
// ),
child: Image.network("https://maps.googleapis.com/maps/api/staticmap?center=" +
widget.cmcInsertPresOrderRequestModel.latitude.toString() +
"," +
widget.cmcInsertPresOrderRequestModel.longitude.toString() +
"&zoom=16&size=600x300&maptype=roadmap&markers=color:red%7C" +
widget.cmcInsertPresOrderRequestModel.latitude.toString() +
"," +
widget.cmcInsertPresOrderRequestModel.longitude.toString() +
"&key=AIzaSyCyDbWUM9d_sBUGIE8PcuShzPaqO08NSC8",
width: double.infinity,
height: double.infinity,
fit: BoxFit.cover,
),
),
),
@ -184,7 +201,9 @@ class _NewCMCStepThreePageState extends State<NewCMCStepThreePage> {
label: TranslationBase.of(context).confirm,
color: CustomColors.green,
onTap: () async {
GifLoaderDialogUtils.showMyDialog(context);
String requestId = await widget.model.insertPresPresOrder(order: widget.cmcInsertPresOrderRequestModel);
GifLoaderDialogUtils.hideDialog(context);
if (widget.model.state != ViewState.ErrorLocal) {
//show scuccess dialog
showCMCConfirmDialog(
@ -195,10 +214,7 @@ class _NewCMCStepThreePageState extends State<NewCMCStepThreePage> {
Navigator.pop(context);
},
);
} else {
}
} else {}
},
textColor: Theme.of(context).backgroundColor),
),

@ -18,8 +18,10 @@ import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:google_maps_place_picker/google_maps_place_picker.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:provider/provider.dart';
import 'cmc_location_page.dart';
@ -45,38 +47,63 @@ class _NewCMCStepTowPageState extends State<NewCMCStepTowPage> {
bool showCurrentLocation = false;
Completer<GoogleMapController> _controller = Completer();
GoogleMapController googleMapController;
static CameraPosition _kGooglePlex = CameraPosition(
target: LatLng(37.42796133580664, -122.085749655962),
zoom: 14.4746,
);
final Set<Marker> markers = new Set();
LatLng currentPostion;
@override
void initState() {
if (widget.cmcInsertPresOrderRequestModel.latitude == null) {
setLatitudeAndLongitude();
} else {
latitude = widget.cmcInsertPresOrderRequestModel.latitude;
longitude = widget.cmcInsertPresOrderRequestModel.longitude;
void _getUserLocation() async {
if (await Permission.contacts.request().isGranted) {
// Either the permission was already granted before or the user just granted it.
var position = await GeolocatorPlatform.instance.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
currentPostion = LatLng(position.latitude, position.longitude);
setMap();
} else {
requestPermissions().then((value) async {
if (value[Permission.location].isGranted) {
var position = await GeolocatorPlatform.instance.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
currentPostion = LatLng(position.latitude, position.longitude);
setMap();
}
});
}
}
@override
void initState() {
_getUserLocation();
super.initState();
}
setMap() {
markers.clear();
markers.add(
Marker(
markerId: MarkerId(
latitude.hashCode.toString(),
setState(() {
_kGooglePlex = CameraPosition(
target: currentPostion,
zoom: 14.4746,
);
googleMapController.animateCamera(
CameraUpdate.newCameraPosition(
CameraPosition(
target: currentPostion,
zoom: 20,
),
position: LatLng(latitude, longitude)),
);
_kGooglePlex = CameraPosition(
target: LatLng(latitude, longitude),
zoom: 14.4746,
);
),
);
});
}
Future<Map<Permission, PermissionStatus>> requestPermissions() async {
var permissionResults = [
Permission.location,
Permission.locationAlways,
].request();
return permissionResults;
}
setLatitudeAndLongitude({bool isSetState = false, String latLong}) async {
@ -116,7 +143,7 @@ class _NewCMCStepTowPageState extends State<NewCMCStepTowPage> {
children: [
if (widget.model.addressesList.isNotEmpty)
Card(
margin: EdgeInsets.only(left: 12, right: 12, bottom: 12),
margin: EdgeInsets.only(left: 12, right: 12, bottom: 12, top: 12),
shape: cardRadius(12),
elevation: 3,
child: Container(
@ -183,14 +210,27 @@ class _NewCMCStepTowPageState extends State<NewCMCStepTowPage> {
),
),
Expanded(
child: GoogleMap(
mapType: MapType.normal,
markers: markers,
zoomControlsEnabled: false,
initialCameraPosition: _kGooglePlex,
onMapCreated: (GoogleMapController controller) {
_controller.complete(controller);
},
child: Stack(
alignment: Alignment.center,
children: [
GoogleMap(
mapType: MapType.normal,
zoomControlsEnabled: false,
myLocationButtonEnabled: true,
myLocationEnabled: true,
initialCameraPosition: _kGooglePlex,
onCameraMove: ((_position) => _updatePosition(_position)),
onMapCreated: (GoogleMapController controller) {
googleMapController = controller;
_controller.complete(controller);
},
),
Icon(
Icons.place,
color: CustomColors.accentColor,
size: 50,
),
],
),
),
Padding(
@ -207,7 +247,6 @@ class _NewCMCStepTowPageState extends State<NewCMCStepTowPage> {
navigateTo(
context,
NewCMCStepThreePage(
cmcInsertPresOrderRequestModel: widget.cmcInsertPresOrderRequestModel,
model: widget.model,
),
@ -221,6 +260,11 @@ class _NewCMCStepTowPageState extends State<NewCMCStepTowPage> {
);
}
void _updatePosition(CameraPosition _position) {
latitude = _position.target.latitude;
longitude = _position.target.longitude;
}
void confirmSelectLocationDialog(List<AddressInfo> addresses) {
showDialog(
context: context,

Loading…
Cancel
Save