map_location_picker 1.0.2 map_location_picker: ^1.0.2 copied to clipboard
Google Map location picker for flutter Based on google_maps_flutter.
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:map_location_picker/map_location_picker.dart';
void main() {
runApp(
const MaterialApp(
home: MyApp(),
debugShowCheckedModeBanner: false,
),
);
}
class MyApp extends StatefulWidget {
const MyApp({Key? key}) : super(key: key);
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String address = "null";
String autocompletePlace = "null";
final TextEditingController _controller = TextEditingController();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('location picker'),
),
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
PlacesAutocomplete(
searchController: _controller,
apiKey: "YOUR_API_KEY_HERE",
mounted: mounted,
showBackButton: false,
onGetDetailsByPlaceId: (PlacesDetailsResponse? result) {
if (result != null) {
setState(() {
autocompletePlace = result.result.formattedAddress ?? "";
});
}
},
),
const Spacer(),
const Padding(
padding: EdgeInsets.all(8.0),
child: Text(
"Google Map Location Picker\nMade By Arvind 😃 with Flutter 🚀",
textAlign: TextAlign.center,
textScaleFactor: 1.2,
style: TextStyle(
color: Colors.grey,
),
),
),
TextButton(
onPressed: () => Clipboard.setData(
const ClipboardData(text: "https://www.mohesu.com"),
).then(
(value) => ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text("Copied to Clipboard"),
),
),
),
child: const Text("https://www.mohesu.com"),
),
const Spacer(),
Center(
child: ElevatedButton(
child: const Text('Pick location'),
onPressed: () async {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) {
return MapLocationPicker(
apiKey: "YOUR_API_KEY_HERE",
canPopOnNextButtonTaped: true,
currentLatLng: const LatLng(29.121599, 76.396698),
onNext: (GeocodingResult? result) {
if (result != null) {
setState(() {
address = result.formattedAddress ?? "";
});
}
},
onSuggestionSelected: (PlacesDetailsResponse? result) {
if (result != null) {
setState(() {
autocompletePlace =
result.result.formattedAddress ?? "";
});
}
},
);
},
),
);
},
),
),
const Spacer(),
ListTile(
title: Text("Geocoded Address: $address"),
),
ListTile(
title: Text("Autocomplete Address: $autocompletePlace"),
),
const Spacer(
flex: 3,
),
],
),
);
}
}