import 'package:flutter/material.dart'; import 'package:generp/Notifiers/NearByGeneratorsProvider.dart'; import 'package:generp/Utils/app_colors.dart'; import 'package:generp/Utils/commonWidgets.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:provider/provider.dart'; class Nearbygenerators extends StatefulWidget { const Nearbygenerators({super.key}); @override State createState() => _NearbygeneratorsState(); } class _NearbygeneratorsState extends State { @override void initState() { // TODO: implement initState super.initState(); WidgetsBinding.instance.addPostFrameCallback((_) { var provider = Provider.of(context,listen: false); provider.getLocationPermission(context); },); } @override Widget build(BuildContext context) { return Consumer(builder: (context, provider, child) { return Scaffold( appBar: appbar(context, "Nearby Generators"), backgroundColor: AppColors.scaffold_bg_color, body: Container( child: SingleChildScrollView( child:Column( children: [ Expanded( child: ClipRRect( // Apply border radius using ClipRRect borderRadius: BorderRadius.only( topLeft: Radius.circular(30.0), topRight: Radius.circular(30.0), ), // padding: EdgeInsets.fromLTRB(10, 20, 10, 20), child: Stack(children: [ GoogleMap( myLocationEnabled: true, zoomGesturesEnabled: true, initialCameraPosition: CameraPosition( target: provider.startLocation, zoom: 14.0, ), markers:provider.markers.toSet(), mapType: MapType.normal, onMapCreated: (controller) { setState(() { provider.mapController = controller; }); }, onCameraMove: (position) { provider.onCameraMove(context,position); }, ), ]), ), ), ], ), ), ), ); },); } }