nominatim_flutter 0.0.1 copy "nominatim_flutter: ^0.0.1" to clipboard
nominatim_flutter: ^0.0.1 copied to clipboard

The Nominatim Flutter Plugin provides a convenient way to interact with the Nominatim service, enabling reverse geocoding and place searching in your Flutter applications.

example/lib/main.dart

// ignore_for_file: use_build_context_synchronously

import 'package:flutter/material.dart';
import 'package:nominatim_flutter/model/request/request.dart';
import 'package:nominatim_flutter/nominatim_flutter.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key});

  @override
  MyHomePageState createState() => MyHomePageState();
}

class MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Nominatim Flutter Example'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            ElevatedButton(
              onPressed: () async {
                // Create a ReverseRequest with the desired latitude and longitude
                final reverseRequest =
                    ReverseRequest(lat: 37.7749, lon: -122.4194);

                // Perform reverse geocoding
                final response = await NominatimFlutter.instance.reverse(
                  reverseRequest: reverseRequest,
                );

                // Display the address information in a dialog
                showDialog(
                  context: context,
                  builder: (context) {
                    return AlertDialog(
                      title: const Text('Reverse Geocoding Result'),
                      content: Text(response.toString()),
                      actions: <Widget>[
                        TextButton(
                          onPressed: () {
                            Navigator.pop(context);
                          },
                          child: const Text('OK'),
                        ),
                      ],
                    );
                  },
                );
              },
              child: const Text('Perform Reverse Geocoding'),
            ),
            ElevatedButton(
              onPressed: () async {
                // Create a SearchRequest with the desired search query
                final searchRequest =
                    SearchRequest(query: 'San Francisco', limit: 5);

                // Perform a search
                final response = await NominatimFlutter.instance.search(
                  searchRequest: searchRequest,
                );

                // Display the search results in a dialog
                showDialog(
                  context: context,
                  builder: (context) {
                    return AlertDialog(
                      title: const Text('Search Result'),
                      content: Column(
                        mainAxisSize: MainAxisSize.min,
                        children: response.map((result) {
                          return Text(result.toString());
                        }).toList(),
                      ),
                      actions: <Widget>[
                        TextButton(
                          onPressed: () {
                            Navigator.pop(context);
                          },
                          child: const Text('OK'),
                        ),
                      ],
                    );
                  },
                );
              },
              child: const Text('Perform Search'),
            ),
          ],
        ),
      ),
    );
  }
}
24
likes
0
pub points
78%
popularity

Publisher

verified publisherbincoder.dev

The Nominatim Flutter Plugin provides a convenient way to interact with the Nominatim service, enabling reverse geocoding and place searching in your Flutter applications.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

dio, dio_cache_interceptor, flutter, plugin_platform_interface

More

Packages that depend on nominatim_flutter