import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/patient_er_insert_pres_order_request_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/home_health_care_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:google_maps_place_picker/google_maps_place_picker.dart'; import 'package:provider/provider.dart'; class LocationPage extends StatefulWidget { final Function(PickResult) onPick; final double latitude; final double longitude; const LocationPage( {Key key, this.onPick, this.latitude, this.longitude, }) : super(key: key); @override _LocationPageState createState() => _LocationPageState(); } class _LocationPageState extends State { double latitude = 0; double longitude = 0; @override void initState() { latitude = widget.latitude; longitude = widget.longitude; super.initState(); } @override Widget build(BuildContext context) { ProjectViewModel projectViewModel = Provider.of(context); return AppScaffold( isShowDecPage: false, isShowAppBar: true, body: PlacePicker( apiKey: GOOGLE_API_KEY, enableMyLocationButton: true, automaticallyImplyAppBarLeading: false, autocompleteOnTrailingWhitespace: true, selectInitialPosition: true, autocompleteLanguage: projectViewModel.currentLanguage, enableMapTypeButton: true, searchForInitialValue: false, onPlacePicked: (PickResult result) { print(result.adrAddress); }, selectedPlaceWidgetBuilder: (_, selectedPlace, state, isSearchBarFocused) { print("state: $state, isSearchBarFocused: $isSearchBarFocused"); return isSearchBarFocused ? Container() : FloatingCard( bottomPosition: 0.0, leftPosition: 0.0, rightPosition: 0.0, width: 500, borderRadius: BorderRadius.circular(12.0), child: state == SearchingState.Searching ? Center(child: CircularProgressIndicator()) : Container( margin: EdgeInsets.all(12), child: Column( children: [ SecondaryButton( color: Colors.grey[800], textColor: Colors.white, onTap: () { print(selectedPlace); // setState(() { // widget.patientERInsertPresOrderRequestModel // .latitude = // selectedPlace.geometry.location.lat; // widget.patientERInsertPresOrderRequestModel // .longitude = // selectedPlace.geometry.location.lng; // }); }, label: " Add New Address ", ), ], ), ), ); }, initialPosition: LatLng(latitude, longitude), useCurrentLocation: false, ), ); } }