Following are the best packages to add Maps services like Google Maps to your apps.
google_maps_flutter
This is a Flutter widget which displays Google Maps.
Completer<GoogleMapController> _controller = Completer(); GoogleMap( mapType: MapType.hybrid, initialCameraPosition: _kGooglePlex, onMapCreated: (GoogleMapController controller) { _controller.complete(controller); }, )
The map view can be controlled with the GoogleMapController
that is passed to the GoogleMap
‘s onMapCreated
callback.
flutter_map
This is a Dart port of JavaScript’s Leaflet. Leaflet is the leading open-source JavaScript library for mobile-friendly interactive maps.
This package supports different maps services such as Azure Maps, OpenStreetMap
Widget build(BuildContext context) { return new FlutterMap( options: new MapOptions( center: new LatLng(51.5, -0.09), zoom: 13.0, ), layers: [ new TileLayerOptions( urlTemplate: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", subdomains: ['a', 'b', 'c'] ), new MarkerLayerOptions( markers: [ new Marker( width: 80.0, height: 80.0, point: new LatLng(51.5, -0.09), builder: (ctx) => new Container( child: new FlutterLogo(), ), ), ], ), ], ); }
maps_toolkit
Maps Toolkit is a library for area, distance, heading measurements. The package provides several methods for calculation.
val distanceBetweenPoints = SphericalUtil.computeDistanceBetween( LatLng(51.5273509, -0.1377583), LatLng(48.816714, 2.3532219) );
syncfusion_flutter_maps

Syncfusion Flutter Maps is a data visualization library. You can use it to create a highly interactive and customizable maps widget that has features set includes tile rendering from OpenStreetMap, Bing Maps, and other tile providers.
mapbox_gl
This plugin allows developers to use Mapbox vector tiles in their Flutter apps. It allows to show embedded interactive and customizable vector maps inside a Flutter widget.
maps_launcher
This is an extension of url_launcher, which allows to open the maps application (or browser) on all platforms.
google_maps_webservice
This is a collection of tools written in Dart for connecting to Google Maps Webservices.
final geocoding = new GoogleMapsGeocoding(apiKey: "<API_KEY>"); final geocoding = new GoogleMapsGeocoding(apiKey: "<API_KEY>", httpClient: new BrowserClient()); GeocodingResponse response = await geocoding.searchByAddress("California, USA");
apple_maps_flutter
This package offers an Apple Maps widget.

AppleMap( onMapCreated: _onMapCreated, initialCameraPosition: const CameraPosition( target: LatLng(0.0, 0.0), ), )