map_picker_flutter 1.0.0+8
map_picker_flutter: ^1.0.0+8 copied to clipboard

Get the address quickly and easily from Google Map in Web, Desktop and Mobile.

Map Picker Flutter #

Check it out at Pub.Dev

This works on: #

  • [x] Android;
  • [x] iOS;
  • [x] Web;
  • [x] Windows;
  • [x] Linux;
  • [x] MacOS;

Screenshot_354

Help Maintenance #

I've been maintaining quite many repos these days and burning out slowly. If you could help me cheer up, buying me a cup of coffee will make my life really happy and get much energy out of it.

Buy Me A Coffee

Objective #

This lib was designed especially for web and desktop platforms, but of course you can also use it on mobiles.

Getting Started #

To use is simple, before all, you need to call this method, It will required once only,

MapPicker.init(
        /// Custom search Builder Widget, case it is null, will be used the default of packer
        searchBuilder: (Function(String address) search) => MyCustomWidget(),

        /// Custom address Builder Widget, case it is null, will be used the default of packer
        addressBuilder: (String address, Function done) => MyCustomWidget(),

        /// Custom progress Widget, case it is null, will be used the default of packer
        progressWidget: MyCustomWidget(),

        /// Custom address Builder Widget, case it is null, will be used the default of packer
        marker: MyCustomWidget(),

        /// All above is to set global widgets to all times you need call this package

        theme: MPickerTheme(
            /// # Initial Location
            initialLocation: LatLng(-23.572143, -46.613275),

            /// # Text showed when address is not founded
            errorAddressMissing: 'Error, address don\'t founded.',

            /// # Text showed when gets error during find address
            errorToFindAddress: 'Error to find this address, try again.',

            /// # Initial text when don`t has any address selected
            withoutAddress: 'Without Address Picked',

            /// # Here the texts showed in [TextField] case you don`t use a custom
            searchHint: 'Type here...',
            searchLabel: 'Search:',

            /// # Language of return of google maps api
            lang: 'en'),

        /// My Google Maps Api Key
        key: 'GOOGLE_API_KEY');

Then Usage #

Now you can use of two ways

Mobiles #

You just call navigator and wait to response, ex:

final MPAddress address = await Navigator.push(context, MaterialPageRoute(builder: (c) => MapPicker(
    /// here, case you want overwrite anything of global params of you set, you can

    /// # Custom search Builder Widget, case it is null, will be used the global or default
    searchBuilder: (Function(String address) search) => MyCustomWidget(),

    /// # Custom address Builder Widget, case it is null, will be used the global or default
    addressBuilder: (String address, Function done) => MyCustomWidget(),

    /// # Custom progress Widget, case it is null, will be used the global or default
    progressWidget: MyCustomWidget(),

    /// # Custom theme, case it is null, will be used the global or default
    theme: MPickerTheme(...),

    /// # Custom Marker, case it is null, will be used the global or default
    marker: MyWidget()
)));

Web / Desktop #

In this platforms, because screens is bigger, I think is more intelligent use a dialog, then I made it ready for you to use

final MPAddress address = await MapPickerTemplate.dialogAddressPicker(
    context: context);

Of course, you can use both ways on any platform, this is just a suggestion.

3
likes
90
pub points
77%
popularity

Get the address quickly and easily from Google Map in Web, Desktop and Mobile.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

cached_network_image, dio, flutter, latlng, map, rxdart

More

Packages that depend on map_picker_flutter